Klick auf Icon

  • Hallo,

    ich kann nicht auf mein icon klicken (transparent)
    Weiß jemand warum das nicht geht?

    [autoit]


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

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

    $Form2 = GUICreate("Form1", 405, 296, 302, 218)
    $Icon1 = GUICtrlCreateIcon("", -1, 24, 24, 361, 245)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Icon1
    Msgbox(4,"Klick","Das Icon wurde angeklickt")
    EndSwitch
    WEnd

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

    ...es sollte eine leere Klickfläche sein.
    Mit icon-Inhalt geht das.
    Kann man das auch ohne Inhalt so lösen?

    Grüße
    Ilse

  • Da ist doch auch keins. Wenn keins ausgewählt ist, kannste auch nicht draufklicken. Das ist nicht so wie bei einem leeren Label, wo das geht.

  • Die Lösung kenn ich schon :D .
    Schau mal in meinem Post den letzten Satz ;) .

    Und immer noch nicht von Koda weg.

  • ...leider noch nicht gelöst!

    ich hab jetzt Labels probiert!
    Habe aber folgendes Problem:

    Das Label ist auf einer Grafik!
    Es ist auch zu sehen, nur ich kann es einfach nicht anklicken!
    Das Label ist im Vordergrund!!

    Lösche ich die Grafik dann klappt das ganze!

    [autoit]


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

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

    $Form2 = GUICreate("Form1", 405, 296, 302, 218)
    $Pic1 = GUICtrlCreatePic("C:\Bild1.jpg", 28, 20, 129, 137)
    $Label1 = GUICtrlCreateLabel("Label1", 72, 108, 36, 17)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Label1
    MsgBox(4, "Klick", " ok Aktiviert...")
    EndSwitch
    WEnd

    [/autoit]

    P.S.
    Ganz ohne Koda das klappt noch nicht!

    Liebe Grüße
    ;) Ilse

  • BadBunny war wieder so voreilig, hatte mir gedacht, dass da noch was kommt, weil Ilse kennt das schon mit dem auf gelöst setzen.

    Du musst das Pic disablen.

    [autoit]

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

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

    $Form2 = GUICreate("Form1", 405, 296, 302, 218)
    $Pic1 = GUICtrlCreatePic("C:\Bild1.jpg", 28, 20, 129, 137)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Label1 = GUICtrlCreateLabel("Label1", 72, 108, 36, 17)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Label1
    MsgBox(4, "Klick", " ok Aktiviert...")
    EndSwitch
    WEnd

    [/autoit]

    Also für die paar Dinger schon Koda nehmen, ist aber mehr als faul. Übrigens, wenn du die Gui zentriert auf dem Bildschirm haben willst, musst du die beiden letzten Parameter bei GUICreate löschen.

  • Tschuldigung, das ich so voreilig war, aber ich finds nervig das fast alle Themen auf [offen] stehen, weil irg jemand nicht weiß wie mans umstellt oder es vergisst.
    Können das eig PUs machen?

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Hallo m-obi,

    merci es hat funktioniert!

    Zitat


    Also für die paar Dinger schon Koda nehmen, ist aber mehr als faul

    ich habe mit den Koordinaten meine Probleme!
    Wie kann ich ohne Koda die genauen Koordinaten denn herausfinden?

    [autoit]


    $Label1 = GUICtrlCreateLabel("Label1", 72, 108, 36, 17)

    [/autoit]

    Das geht doch mit Koda besser, oder mache ich da was falsch?
    Ich meine wenn ich das Label an einer bestimmten Stelle
    haben will, ist doch Koda nicht verkehrt. ODER?

    Grüße
    Ilse ;)

  • ich benutze nie Koda egal wie groß meine GUI ist die sache mit den Koordinaten ist nur übungssache das hat man relativ schnell raus.
    Außerdem mag ichs nicht wenn mein code generiert wird...nur selbstgeschrieben is selbstgeschrieben ^^
    MfG

  • Full ACK @Milla.

    Du musst dir halt die GUI immer angucken, bis die Koordinaten halt dir richtigen sind. Später hast du es raus, und du kannst es ungefähr einschätzen, wo etwas liegt. Und wenn ich mal was ausmessen will, um ein Control genau auf den pixel zu platzieren, nehme ich ein Pixellineal.

  • hm...
    eine Frage noch an m-obi,

    Zitat

    um genau auf den pixel zu platzieren, nehme ich ein Pixellineal.

    wo nimmst du das denn her? Noch nie gehört!

    Liebe Grüße
    Ilse ;)

  • Guten Morgen m-obi,

    ...mußte gestern leider wieder los..
    Ich habe mir das Programm heruntergeladen.

    Merci nochmal
    Ich werd wohl noch einige Erfahrungen machen müssen,
    bevor ich Koda-Clean werde.

    Aber noch eine Frage zu Icons: (Passend zum Thread)

    Kennt jemand Autoit-Icon-Sammlungen (kleine Icon-Bildchen)
    die man frei in seinen Anwendungen nutzen darf.

    Liebe Grüße
    Ilse ;)

  • Morgen Milla,
    schön daß du dich meldest.
    Ich mach mich mal auf die Suche.

    Zitat

    Ich habe leider immer noch Probleme mit dem Label.
    Bin den ganzen Morgen schon dran.

    Wenn das Label nicht transparent ist,
    also eine große bunte Fläche hat, dann kann ich auf die gesamte Fläche klicken
    und erhalte ein Ereignis!

    [autoit]


    $btnback = GUICtrlCreateLabel("", 368, 412, 200, 200)
    GUICtrlSetBkColor(-1, 0x696969)

    [/autoit]


    Deaktiviere ich GUICtrlSetBkColor, dann kann ich nicht mehr auf die
    gesamte Fläche von 200,200 klicken! Ich erhalte kein Ereignis!

    Und nun das seltsame

    Benenne ich das Label,
    dann erhalte ich nur ein Ereignis, wenn ich auf das Wort test klicke

    [autoit]


    $btnback = GUICtrlCreateLabel("test", 368, 412, 200, 200)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)

    [/autoit]

    der Bereich 200,200 reagiert nicht!
    Ich wollte quasi eine transparente Klickfläche mit dem Label machen.

    Weißt du woran das liegen kann?

    Grüße
    Ilse ;)

  • Habs gerade mal getest wenn ich

    [autoit]

    $label = GUICtrlCreateLabel("",0,0,200,200)
    GUICtrlSetOnEvent(-1,"_klick")

    [/autoit]


    mache habe ich ein 200,200 großes Feld auf welches ich überall klicken kann um das Event auszulösen.

    Sicher, dass in diesem Bereich keine anderen Controls liegen?

  • Sie meinte was anderes, übrigens macht sie nicht OnEvent.

    Probier das mal:

    [autoit]

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

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

    $hGui = GUICreate("Form1", 400, 300)
    $hLabel = GUICtrlCreateLabel("Label", 20, 20, 200, 200)
    GUISetState()

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hLabel
    Msgbox(4, "Klick", "Das Label wurde angeklickt")
    EndSwitch
    WEnd

    [/autoit]
  • Ich habe genau das selbe geschrieben was du geschrieben hast :P
    nur das mit dem OnEvent habe ich übersehen...