Icon auf Button - schlechte Qualität

  • Hi,
    ich möchte ein Icon auf einem Button anzeigen.
    Leider ist die Qualität deutlich schlechter als wenn ich das Icon ohne Button darstelle.

    Gibt es eine Möglichkeit dies zu verbessern.
    Das Icon befindet sich im Anhang.


    Spoiler anzeigen
  • Nun ja, so z.B. xD

    [autoit]

    #Region ;************ Includes ************
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiImageList.au3>
    #include <GuiButton.au3>
    #EndRegion ;************ Includes ************

    [/autoit][autoit][/autoit][autoit]

    Opt("GUIOnEventMode", 1) ;0=disabled, 1=OnEvent mode enabled

    [/autoit][autoit][/autoit][autoit]

    $sIcon = @ScriptDir & "\" & "icon.ico"

    [/autoit][autoit][/autoit][autoit]

    $hGui = GUICreate("Test", 200, 400)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateIcon($sIcon, 0, 10, 10, 128, 128)

    [/autoit][autoit][/autoit][autoit]

    $hImage = _GUIImageList_Create(128, 128, 5, 3)
    _GUIImageList_AddIcon($hImage, $sIcon, 0, True)
    $idButton = GUICtrlCreateButton("", 10, 200, 150, 150, BitOR($WS_TABSTOP, $BS_ICON))
    GUICtrlSetImage($idButton, $sIcon)
    ;~ _GUICtrlButton_SetImageList($idButton, $hImage)

    [/autoit][autoit][/autoit][autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "_beenden")

    [/autoit][autoit][/autoit][autoit]

    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(10)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _beenden()
    Exit
    EndFunc ;==>_beenden

    [/autoit]
  • Würde funktionieren, allerdings möchte ich auch noch zusätzlich Text anzeigen. Hatte ich leider vergessen zu erwähnen.

  • Probiere es mal hiermit:

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • So gehts:


    Falls das Ergebnis nicht ganz deinen Wünschen entspricht, dann...
    Muss es optisch wirklich ein "richtiger" Button sein.
    Mit dem Ownerdraw-Style kannst du den Button einfach selber zeichnen, wie du willst!
    Siehe Beispiel zu "GUIRegisterMsg"
    In WM_DRAWITEM einfach _WinAPI_DrawIconEx und _WinAPI_TextOut/DrawText anwenden...

    lgE

  • Tweaky: oder zeichne doch einfach den Text auf das Bild und sende es anschließend in den Button.

    So was in er Art:

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯