Mehrzeiliger Button mit mehreren Bildern drin

    • Offizieller Beitrag

    Kann mich nur höflichst dafür entschuldigen, wenn ich dir damit auf die Füße getreten bin.


    :D Das tut nicht not. Es geht ja auch nicht um meine "Füße", sondern um die Köpfe all jener, die sich Gedanken machen.
    Gehört zur Netiquette und wenn du daraus gelernt hast, ist es doch ein Erfolg. 8o

  • So?

    Spoiler anzeigen
    [autoit]

    $hGui = GUICreate ("Test-Fenster",600,400)
    $Button1 = GUICtrlCreateButton ("",10,10,300,100)
    GUICtrlCreateIcon (@WindowsDir & "\system32\user32.dll",2,400,300)
    $hButton1 = GUICreate ("Mehzeiliger Button",300,100,10,10,0x80000000,0x00080000+0x00000040,$hGui)
    GUISetBkColor (0xFFFFFF)
    $T1 = GUICtrlCreateLabel ("Test",10,10)
    $T2 = GUICtrlCreateLabel ("Blah",100,30)
    GUICtrlSetColor (-1,0xFF0000)
    GUICtrlCreateIcon ("shell32.dll",20,40,40)
    DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hButton1, "long", 0xFFFFFF, "byte", 255, "long",True)
    GUISetState (@SW_SHOW, $hGui)
    GUISetState (@SW_SHOW,$hButton1)
    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $Button1
    MsgBox (0,"","Click")
    EndSwitch
    WEnd

    [/autoit]

    mfg. Jam00

  • SEuBo: Klappt auch nicht bei mir xD... Irgendwie zeichnet er nur "weiß" auf den Button, mit der Schrift drüber noch...


    Du kennst mich - ich poste nichts, was ich nicht getestet habe. Hast du auch das Bild im @Scriptdir gespeichert, das ich angehängt habe?
    Bei mir kommt das hier raus:
    autoit.de/wcf/attachment/10884/
    Und wenn man beim GraphicsClear den Alphawert der Farbe auf 00 setzt (0x00FFFFFF statt 0xFFFFFFFF), sieht das so aus:
    autoit.de/wcf/attachment/10885/

    Und wenn man
    GUICtrlSetImage($cZielButton, @TempDir & "\~buttonpic.bmp")
    nutzt, dann wird das doch eh nur der Hintergrund des Buttons, oder? Es sollen ja mehrere kleine Bilder auf EINEN Button...


    Deswegen setzt du die mehreren kleinen Bilder und die Texte die du brauchst, zu einem einzelnen Bild zusammen. Und das setzt du dann auf den Button....

  • Jam00: Ja, Label und Bilder drüber setzen ist natürlich ne coole Idee xD...
    Damit kann ich sicherlich auch arbeiten :D *löl*. *hm*
    Kannst du mir noch erklären, was genau dein DLL-Call bewirkt^^? Wenn ich ihn auskommentiere, verschwinden die Controls hinter den Button, setzt das den Button einfach auf eine "Hinterschicht"?
    Danke auf jeden Fall!!!^^


    Klar Seu, weiss ich doch *gg*. Dachte, vielleicht wegen dem Game ;)... Naja, ich habe es nicht zum Laufen bekommen, auch mit dem Bild im ScriptDir, natürlich! Ich probiere noch mal rum und schaue dann, was besser für mich funktioniert, bzw. anpassbar ist :), FALLS deine Lösung bei mir noch hin haut...^^ ;) Sonst liegts wohl an mir... *hehe*


    LG

    PS: Danke dir natürlich auch :thumbup:


    *edit*
    Seu, ich habe sogar den direkten Pfad eingegeben, die Datei in kurz umbenannt, nichts... Er kriegt das Bild nicht auf den Button, sonst klappt alles... Hast du maybe in deiner GDI+-UDF was geändert oder so?

    *edit*
    Jam00, deine Lösung geht nur mit Icons?

    *edit*
    So, Seu, geht doch xD. Frag mich nicht, woran es lag, thx xD!!!...

    2 Mal editiert, zuletzt von Acanis (2. August 2010 um 17:01)

  • Nein, dann musst du aber GuiCtrlCreatePic nehmen
    das mit dem Dll-Call bewirkt in verbindung mit dem Style $WS_EX_LAYERED das die Farbe die man angibt durchsichtig wird die stärke sit die 255 = voll durchsichtig

    mfg. Jam00

  • Ah, ja, okey, auch grad ausprobiert... ;D

    Achso, sehr aufschlussreich, danke :D...

    Da ich bei deiner Lösung mehrere Bilder nehmen kann, das also in der Hinsicht besser anpassbar ist, werde ich diese wohl nehmen^^...

    Danke nochmal an alle!^^


    LG

    @Seu: Behalte dein Script aber auch ;).