TrayIcon.PopupMenu
Tray1.PopupMenu = "mnuPrefs"
Es ist das Menü, das Sie erhalten, wenn Sie die Menütaste „Optionen“ drücken. im Formulardesigner „Menüeditor“ hinzugefügt
Sie verwenden kein „TrayIcon_Menu“-Ereignis.
Sie legen „TrayIcon.PopupMenu String“ einfach wie bei jedem anderen Steuerelement auf den gewünschten Menünamen fest.
ps, das TrayIcon und das Menü, das Sie verwenden möchten, müssen in derselben Klasse/Form sein, da wir eine Zeichenfolge mit dem Namen „mnuPrefs“ verwenden müssen, keinen Zeiger auf das eigentliche Menüobjekt mnuPrefs (der Interpreter kümmert sich darum).
Siehe beigefügtes Bild
Wenn ich das Menü ändern müsste, bevor es geöffnet wird, wie bei einem Menüereignis, könnte ich das Ereignis mnuPrefs_Show() verwenden.
Notiz:
Ich hatte ein Problem, das ich umgehen musste.
Wenn ich das Programm direkt in der Taskleiste gestartet und zunächst nicht das Hauptfenster geöffnet habe, wurden die Menüs nicht erstellt und nicht auf dem TrayIcon angezeigt.
Wenn das Programm jetzt in der Taskleiste startet, öffnet es das Hauptfenster und blendet es dann aus (es kann sein, dass es blinkt). Es sieht hässlich aus, aber zumindest wird das Menü dann ordnungsgemäß erstellt.
Ich mache es so in der Startup.class
gambas code
FMain.Show
If bTray Then
FMain.Hide
FMain.Form_Show ' Ich musste dies hinzufügen, um die Dinge richtig zu initialisieren
FMain.Tray1.Show
Endif
Ich bin Engländer und verwende Google Übersetzer. (Das tut mir leid)