Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Hilfe bei Kontextmenü benötigt

Oli_1977 / 7 Antworten / Baumansicht Nickles

Hallo.
Ich will in meiner Anwendung auf Tastendruck ein Kontextmenü anzeigen, wo der Benutzer was auswählen kann.
Zu diesem Zweck habe ich bei den Ressourcen ein neues Menü erstellt.
Das Menü habe ich der gleichen Klasse zugewiesen, die das Dialogfeld besitzt, in der das Kontextmenü aufgerufen wird.
Der Aufruf und Anzeige des Kontextmenüs habe ich mit der Funktion OnContextMenu(CWnd* pWnd, CPoint point) realisiert. Es funktioniert auch.

Ich finde bloß keine Möglichkeit, abzufragen welche Auswahl getroffen wurde.

Die Objekt-IDs der Menüpunkte erscheinen nicht mal im Klassenassistenten.

Weiß jemand Rat oder hat einen Tipp?

Es handelt sich um eine VC++ 6.0 dialogfeldbasierende Anwendung

Cu
Oli

bei Antwort benachrichtigen
thomas woelfer Oli_1977 „Hilfe bei Kontextmenü benötigt“
Optionen

soweit cih mich erinnere wird das contextmenu in diesem fall mit trackMenu() oder sowas in der art aufgerufen. diese funktion liefert als ergebnis die id des ausgewaehlten befehls.

WM_HOPETHISHELPS

this posting contains no tpyos.
bei Antwort benachrichtigen
Oli_1977 thomas woelfer „soweit cih mich erinnere wird das contextmenu in diesem fall mit trackMenu oder...“
Optionen

Hallo.
Danke das Du geantwortet hast.
Habe meinen Fehler gefunden. Ich hatte in der ersten Zeile nicht eingetragen. Ein Sau dummer Fehler.

Cu
Oli

bei Antwort benachrichtigen
Oli_1977 thomas woelfer „soweit cih mich erinnere wird das contextmenu in diesem fall mit trackMenu oder...“
Optionen

Hast Du noch was gefunden zum Problem vom 22.11.02
http://www.nickles.de/thread_cache/537283489.html
Bin der lösung noch nicht näher gekommen.

Wäre nett, wenn Du mir da noch helfen könntest.

Cu
Oli

bei Antwort benachrichtigen
thomas woelfer Oli_1977 „Hast Du noch was gefunden zum Problem vom 22.11.02...“
Optionen

da gibs wie gesagt zwei moegichkeiten. entweder ueber alle parents nach oben gehen und sich so den pfad zusammenbauen oder den pfad einfach im node merken. wo hast du denn da das problem?

WM_QUERY


this posting contains no tpyos.
bei Antwort benachrichtigen
Oli_1977 thomas woelfer „da gibs wie gesagt zwei moegichkeiten. entweder ueber alle parents nach oben...“
Optionen

Hallo.

Ich komme irgendwie mit beiden Möglichkeiten nicht klar.

Wie kann ich über alle parents nach oben gehen bzw, wie kann ich es mir über das node merken.

Das ist mir irgendwie zu hoch.

Cu
Oli

bei Antwort benachrichtigen
thomas woelfer Oli_1977 „Hallo. Ich komme irgendwie mit beiden Möglichkeiten nicht klar. Wie kann ich...“
Optionen

iterieren ueber die parents nach oben (in etwa, aus dem blauen heraus... die datentypen und funktionen heissen vermutlich etwas anders, aber das ist der generelle weg)

node* root = Root(); // das ist die rootnode
node* node = CurrentNode(); // hier sind wir
while( node->Parent() != root)
node = node->Parent();

merken des pfaded:
du hast eine TV_INSERTSTRUCT (oder so aehnlich). darin setzt du bereits das flag das sagt das der Text darin 'valid' ist. dann setzt du den text. genau wie fuer den text gibt es auch ein flag und ein feld fuer einen 32bit zeiger. du musst einfach nur das bit setzen und dann im zeiger den string merken...

WM_HOPETHISHELPS





this posting contains no tpyos.
bei Antwort benachrichtigen
Oli_1977 thomas woelfer „iterieren ueber die parents nach oben in etwa, aus dem blauen heraus... die...“
Optionen

Hallo.


Werde ich mal versuchen.

Danke für Deine Mühe.

Cu
Oli

bei Antwort benachrichtigen