ermitteln der auswahl (des benutzers) eines popup-menüs
-
Hi
Ich programmieren gerade mit MFC ein kleines Notizblock-programm.
Das programm wird beim ins Tray minimiert. Wenn man auf das Tray-icon rechtsklickt, so öffnet sich ein popup menü. in diesem menü ist der eintrag "Löschen", in dem ich als untereinträge alle notizen habe.
+-----------+ | Neu | +-----------+ +-----------+ | Notiz 1 | | Löschen >| +-----------+ +-----------+ | Notiz 2 | | Beenden | +-----------+ +-----------+Anzeigen des menüs:
selectionMade = popup->TrackPopupMenu ( TPM_LEFTALIGN, pp.x, pp.y, this );mein problem: wie finde ich heraus, auf welche notiz bei löschen der benutzer geklickt hat?
danke im vorraus :xmas1:
-
1. Bekommt Dein Fenster (this) eine WM_COMMAND Nachricht mit der entsprechenden ID
2. TPM_RETURNCMD verwenden...
-
erstmal danke für die antwort.
ok, der neue aufruf.
selectionMade = popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RETURNCMD, pp.x,pp.y,this);mein problem ist jetzt aber das ich alle Notizen dynamisch ins menü eingefügt habe und wenn ich jetzt auf eine notiz klicke, so bekomme ich immer als return von TrackPopupMenu 0 zurück, da die eingefügten notizen ja keine id haben.
-
Du musst Ihnen eben eine ID zuordnen!
-
ok.
das erstellen eines menü-punkts.
deleteItems->AppendMenu ( MF_STRING, 0, CString(data.cFileName) );könntest du mir bitte erklären wie man diesen punkt eine id zuordnet?
danke im vorraus
-
Deine IDE hat eine F1 Taste. Es gibt Google und eine ausgezeichnete Dokumentation im Netz

CMenu::AppendMenu, Parameter 2! Da wo Du 0 rein packst!
http://msdn.microsoft.com/en-us/library/kb145b0a(VS.80).aspx