Kontextmenü für bestimmte controls
-
hi zusammen,
ich möchte in meiner applikation für einen dialog (der nicht der hauptdialog ist) ein kontextmenü einfügen, dass aber nur erscheint, wenn die maus über einer bestimmten control ist. das kontextmenü erzeuge ich in der funktion "OnContextMenu(CWnd* pWnd, CPoint point)" folgendermassen:
CMenu menu;
if (menu.LoadMenu(IDR_POPUPMENU))
{
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
point.x, point.y,
this); // Verwenden Sie das Hauptfenster für die Befehle
}allerdings hab ich keine ahnung, wie ich rausfinden soll, ob die maus bei aufruf der funktion über der entsprechenden control ist. einzige möglichkeit die mir einfällt, wäre eine positionsabfrage, ob die maus in dem dialogbereich ist, in dem sich auch die control befindet. die lösung finde ich aber etwas stümperhaft.
hat jemand eine idee, wie ich das lösen könnte.
gruss
manuel
-
Lass das Control das machen.
Eigene Klasse dafür machen, Kontextmenü-Handler reinpacken und gut.
-
danke estartu_de,
habs so hingekriegt.
gruss
manuel