000
19.02.2007, 15:41 Uhr
WindDancer1
|
Hi Leutz,
ich hab ne Frage bzgl. Popups, ich hab eine Form mit nem Menü bei rechtsklick wird ein Popup angezeigt wenn ich so mach direct über dem MausCursor wie mans gewöhnt ist :
C++: |
void CKontextmenueDlg::OnContextMenu(CWnd* pWnd, CPoint point) { CMenu *m_lMenu = NULL; // Zeiger vom Typ Menü erstellen m_lMenu = GetMenu(); // Zeiger auf Fenstermenü holen m_lMenu = m_lMenu->GetSubMenu(0); // Zeiger auf erstes Untermenü holen m_lMenu->TrackPopupMenu(TPM_CENTERALIGN|TPM_LEFTBUTTON,point.x, point.y, this, NULL); // Popup-Menü anzeigen
}
|
Wenn ich aber erreichen möchte dass je nach dem wo ich hinklicke ein anderes Menü erscheint, werden die 2 versch. Popups viel zu weit links angezeigt, ich habs in OnButtonDown gemacht :
C++: |
void CDLG_MenueDlg::OnRButtonDown(UINT nFlags, CPoint point) {
CMenu *pMenu = NULL; pMenu = GetMenu (); if (point.x < 218) { pMenu = pMenu->GetSubMenu(0); // Zeiger auf erstes Untermenü holen pMenu->TrackPopupMenu(TPM_CENTERALIGN|TPM_LEFTBUTTON, point.x, point.y, this, NULL); // Popup-Menü anzeigen } else if (point.x > 218) { pMenu = pMenu->GetSubMenu(1); // Zeiger auf zweites Untermenü holen pMenu->TrackPopupMenu(TPM_CENTERALIGN|TPM_LEFTBUTTON, point.x, point.y, this, NULL); // Popup-Menü anzeigen } }
|
Wisst ihr was ich falsch mache und wies richtig geht ?
regards ShadowEater |