GUICtrlSetImage und Buttons - Icons auf dem Button "positionieren"?!

  • Hallo liebes Forum,

    Zur verschönerung meines GUI's habe ich vor in einige der Buttons Bilder einzubauen. Soweit ja kein Problem, denn mit GUICtrlSetImage() geht das ja leicht von der Hand.
    Nun hab ich allerdings das Problem, dass ich bei bestimmten Buttons gerne das Icon HINTER und nicht VOR dem Text stehen sollen.

    Habe schon etliche Seiten im Netz durchsucht, und auch die Deutsche Hilfe zu Rate gezogen aber ich finde einfach nirgendwo eine solche Möglichkeit.

    Non-Plus-Ultra des ganzen wäre natürlich, wenn ich das Icon innerhalb des Buttons positionieren könnte. Also bei einem Buttons Ganz links an den Rand, bei dem anderen erst nach 5 pixeln. Das ist aber nicht zwingend erforderlich, aber wäre so zu sagen das Sahnehäubchen.


    Standartsituation ist ja diese hier:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    AutoItSetOption("GUIOnEventMode", 1)
    ;--
    GUICreate("")
    ;--> Hier gehts um die Wurst
    GUICtrlCreateButton("Buttontext", 50, 150, 200, 30)
    GUICtrlSetImage(-1, "shell32.dll",-145)

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

    GUISetState()
    ;--
    GUISetOnEvent($GUI_EVENT_CLOSE, "Kill")
    Func Kill()
    Exit
    EndFunc
    ;--
    While 1
    sleep(20)
    WEnd

    [/autoit]

    Wäre über einen Gedankenblitz der zur Lösung beiträgt sehr erfreut ^^
    Gruß, SEuBo

  • Tut mir leid, aber ich möchte es auch so aussehen lassen, ihr kennt ja bestimmt bei Tabsheets wenn man da Guictrlsetimage macht und ein Icon setzt das am Anfang das Icon ist und danach der Text kommt alles im Tabsheet, sowas wollte ich auch grade machen mit anderen Sachen wie z.B. der Button, Checkbox, Radiobutton, Listview(Einträge !!! Das will ich auch unbedingt wissen) und bei der InputBox ^^

  • Hallo

    Nun hab ich allerdings das Problem, dass ich bei bestimmten Buttons gerne das Icon HINTER und nicht VOR dem Text stehen sollen.

    Zitat

    Du könntest für jeden einzelnen Button mit GuiCtrlCreateIcon ein Icon erstellen.

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    #include <WindowsConstants.au3>

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

    Opt('MustDeclareVars', 1)
    Opt("GUIOnEventMode", 1)

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

    ;--
    GUICreate("Demo Icon und Buttons", 800, 540, -1, -1, $WS_SIZEBOX + $WS_SYSMENU +$WS_MAXIMIZEBOX +$WS_MINIMIZEBOX)

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "Kill")
    Local $iLeft = 20
    Local $iWith = 80
    GUICtrlCreateIcon(@ScriptDir & '\Icon0002.ico', 0, $iLeft+4, 6, 48, 48)
    GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlCreateButton('unten', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM))
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)

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

    $iLeft = $iLeft + $iWith
    GUICtrlCreateIcon(@ScriptDir & '\Icon0002.ico', 0, $iLeft+4, 16, 48, 48)
    GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlCreateButton('oben', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_TOP))
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)

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

    $iLeft = $iLeft + $iWith
    $iWith = 110
    GUICtrlCreateIcon(@ScriptDir & '\Icon0002.ico', 0, $iLeft+4, 6, 48, 48)
    GUICtrlSetState(-1, $GUI_DISABLE) ;wichtig damit der darüberliegende Button gedrückt werden kann
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
    GUICtrlCreateButton('Be&enden', $iLeft, 2, $iWith, 70, BitOR($WS_CLIPSIBLINGS, $BS_right))
    GUICtrlSetOnEvent(-1, 'KILL')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)

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

    GUISetState()

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

    While 1
    sleep(1000)
    WEnd
    ;--
    Func Kill()
    Exit
    EndFunc
    ;--

    [/autoit]

    mfg (Auto)Bert