Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Contextmenueintrag ereignisbehandlung?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.05.2003, 12:00 Uhr
~Poirez
Gast


Hallo ich hab ein kleines Problem und hoffe es kann mir jamend helfen.
ich habe in der Registerkarte Ressourcen von Visual c++ 6.0 ein Menu erstellt und es als kontextmenu in eine Instanz in einer dialogklasse meines Programms erzeugt:

CMenu menu;
CMenu *pContextMenu;
CPoint mauspoint;

menu.LoadMenu(IDR_MYMENU);
pContextMenu = menu.GetSubMenu (0);
GetCursorPos (&mauspoint);
pContextMenu->TrackPopupMenu (TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON, mauspoint.x, mauspoint.y, AfxGetMainWnd());

Doch leider habe ich jetzt das Problem, dass wenn ich im Klassenassisten ein Menuitem dieses Kontextmenus suche, nichts finde.
Also mein MenuItem mit der ID: ID_DETAILS ist nirgends vorhanden, wie soll ich jetzt aber überprüfen ob der User jetzt geklickt hat (Die Command funktion ausgelöst hat) oder nicht?

ich hoffe es kann mir jemand helfen.

Danke

Gruss Poirez
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.05.2003, 14:53 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Normalerweise sollte die ID des Menüeintrages in der View Klasse sein. Falls nicht, weiß ich auch nicht mehr weiter

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.05.2003, 08:57 Uhr
~Poirez
Gast


Ja danke, dass habe ich jetzt auch gesehen. ist aber nur dann in der ViewKlasse, wenn nicht nur das Kontextmenü besteht, sondern auch noch ein Statusmenü. Doch leider habe ich jetzt das Problem, dass die Einträge nur im Status menü auf Enabled sind und im Kontextmenü immernoch auf nicht enabled (grau).
hab es auch schon mit:
pContextMenu->EnableMenuItem(ID_DETAILS, MF_ENABLED);
versucht, doch das funktioniert irgendwie nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.05.2003, 13:59 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Da musst du in den Klassenassi und ON_COMMAND_UI auswählen.
Grundsätzlich werden die Itemes erst bei ON_COMMAND aktiviert - also wenn du keine Funktion zugewiesen hast, bleiben sie grau.

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.07.2005, 17:36 Uhr
~urs
Gast


...hi!

wie bekomme ich das hin, daß das contextmenu , welches ich per

ON_WM_CONTEXTMENU()
::OnContextMenu(CWnd* pWnd, CPoint point)

aufrufen möchte, nicht nur auf der dialogoberfläche, sondern auch in den controls wie eingabefelder sichtbar machen kann?? bisher klappt mein contextmenu NUR auf der Oberfläche, wo keine controls sind, auf :-(((
es existiert ja bei rechtsklick bereits ein contextmenu (von windows) mit rückgängig, ausschneiden kopieren, einfügen etc.

schön wäre es, wenn ich meinen contextmenueintrag mit

myContextMenu.CreatePopupMenu();
myContextMenu.AppendMenu(MF_STRING, ID_MY_CONTEXT_STRING, "mach was...");

irgendwie darunterhängen könnte :-)


thanks!!!! :-)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: