MFC Menu popup (click droit)

SyN42 Messages postés 11 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 6 février 2006 - 17 déc. 2005 à 10:56
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 17 déc. 2005 à 11:58
apres avoir créé mon menu dynamique apres un click droit de
l'utilisateur, si l'utilisateur click sur ce menu rien ne se passe......



voici comment je creer mon menu :



void CProjetInfoDlg::OnRButtonUp(UINT nFlags, CPoint point)

{

if( MainRect.PtInRect(point))

{

CMenu menu;

menu.CreatePopupMenu();



ClientToScreen(&point);

menu.AppendMenu(MF_STRING|MF_ENABLED, ID_POPUP1, "Traitement XY");




res =
menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RETURNCMD|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,
point.x, point.y , AfxGetMainWnd());

}

}

CDialog::OnRButtonUp(nFlags, point);

}





et je configure le OnCmdMsg comme suit :



BOOL CProjetInfoDlg::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)

{

if (pHandlerInfo == NULL)

{

if (nID == unsigned(ID_POPUP1))

{

if (nCode == CN_COMMAND)

{



OnTraitementetanalyseSpatialeXy();

}



}

}

return CDialog::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);

}



Avez vous une idée de pourquoi il ne se passe rien?

apprament on ne rentre jamais dans "if (nID == unsigned(ID_POPUP1))"

...merci de votre aide

1 réponse

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 déc. 2005 à 11:58
AfxGetMainWnd() est elle bien une fenêtre de type CProjetInfoDlg?

Essaie plutot:
menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RETURNCMD|TPM_LEFTBUTTON|TPM_RIGHTBUTTON, point.x, point.y , this);
0
Rejoignez-nous