GUI Menü - klickbar machen?

  • Hallo Zusammen,

    per GUICtrlCreateMenu habe ich ein Menü (Menü1) und 2 MenüItems (Menü2 / Exit) erzeugt.

    Nun möchte ich, dass wenn Menü1 geklickt wird auch der entsprechende Case zweig reagiert.

    Die Menü-Item (Menü2 und Exit) Einträge funktionieren ohne Probleme.

    Gibt es da eine Lösung?



    Hier hatte ich im englischen Forum ein Beispiel gefudnen, allerdings fehlt da die Unterscheidung der Button.

    Danke und allen vorab ein schönes Pfingstwochenende :)

    Gruß gmmg

    3 Mal editiert, zuletzt von gmmg (26. Mai 2023 um 15:21)

  • gmmg 26. Mai 2023 um 15:20

    Hat den Titel des Themas von „GUI Menü - klickbar machen“ zu „GUI Menü - klickbar machen?“ geändert.
  • Wolltest Du es so haben?

  • Meinst du so?

    Mist BananaJoe war schneller ;)

  • Und hier eine kleine dänische KI-Version. :rofl:

    Spoiler anzeigen

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hi, weil ich im moment so gerne mit Maps programmiere würde ich es so machen:

    Bei der Methode kannst du dir auch aussuchen, ob du alle Menuitems in der Mainloop abarbeiten möchtest, oder ob du eine extra Funktion definieren willst.

    Extra Funktionen haben den Vorteil, dass deine Mainloop nicht groß und unübersichtlich wird und eine Funktionalität ohne Probleme im Menü oder über z.B. einen Button im Fenster ausgelöst werden soll.

    Würdest du z.B. "Save" im Menü "File" haben mit der Methode "_save" kannst du die auch automatisch alle 10min. aufrufen, über extra Buttons,...

    Deshalb arbeite ich gerne mit Funktionen statt sehr großen Mainloops.

    Statt _addMenuEntry($mMenus, "menu1", "Menü 1") solltest du natürlich sinnvolle Namen vergeben, wie z.B. _addMenuEntry($mMenus, "file", "File")

  • Moin,

    ich hätte nicht damit gerechnet, dass $mM1 = GUICtrlCreateMenuItem("Menü1", -1) das Item direkt der Menüleiste zuweist. Das scheint aber nur dann zu funktionieren, wenn die Menüleiste bereits durch einen Aufruf von GUICtrlCreateMenu() erstellt/initialisiert wurde. Nachdem man alle Items hinzugefügt hat, kann man dieses Menü allerdings wieder löschen: