Mdi menu contextuel

agora_13 Messages postés 25 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 juin 2004 - 15 mars 2004 à 20:37
agora_13 Messages postés 25 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 juin 2004 - 16 mars 2004 à 18:21
Bonjour,

J'ai une application contenant une fenetre mere et 2 fenetres filles (childframe). J'ai un probleme au niveau de l'affichage des clics droits. Lorsque je clique dans l'une des deux fenetres filles j'affiche un menu qui devrait se trouver à coté du curseur. Malheureusement il se trouve completement décalé. A mon avis le probleme viens du fait que je recupére les coordonnées dans la fenetre fille et que je les affiche dans le repère de la fenetre mere. J'aimerais savoir comment je pourrais faire pour recupérer les coordonnées du pointeurs dans le fenetre fille de maniere à placer correctement les menus.

Voici mon code :

void CVestaView::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CMenu clicvesta;
clicvesta.LoadMenu(IDR_CLICVESTA);
clicvesta.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON, point.x, point.y, this, NULL);

CView::OnRButtonDown(nFlags, point);
}

2 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
16 mars 2004 à 00:00
un ClientToSreen des coordonnées devrait faire l'affaire.

OnRButtonDown donne les coordonées par rapport à la zone cliente de la fenêtre qui reçoit le message

TrackPopupMenu nécessite des coordonnées écran.
0
agora_13 Messages postés 25 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 juin 2004
16 mars 2004 à 18:21
je te remercie, tu confirmes ce que je viens de trouver sur le net.

ca y est ca marche !
0
Rejoignez-nous