Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3005 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [VC++] Pb avec un menu contextuel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VC++] Pb avec un menu contextuel

n°166381
try58
Posté le 26-06-2002 à 14:35:43  profilanswer
 

Je voudrai creer un menu contextuel a l'interieur d'une CListCtrl. Pour cela, j'ai cree mon menu en statique et dans l'evenement click droit sur ma CListCtrl, je fais le code suivant :

Code :
  1. CMenu ContextMenu;
  2. POINT pt;
  3. GetCursorPos(&pt);
  4. ContextMenu.LoadMenu(IDR_MONMENU);
  5. ContextMenu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, GetDlgItem(IDC_MALISTCTRL));


 
Mon menu apparait quand je fais mon click droit mais celui a une largeur tellement petite que je ne vois rien a l'interieur.
Quelqu'un aurait il la reponse a mon probleme ?
 
 


---------------
LOVE & PEACE !!! [:kirvel]
mood
Publicité
Posté le 26-06-2002 à 14:35:43  profilanswer
 

n°166483
try58
Posté le 26-06-2002 à 15:45:44  profilanswer
 

:bounce:


---------------
LOVE & PEACE !!! [:kirvel]
n°166574
try58
Posté le 26-06-2002 à 16:41:37  profilanswer
 

:bounce:  :bounce:


---------------
LOVE & PEACE !!! [:kirvel]
n°166604
try58
Posté le 26-06-2002 à 17:03:18  profilanswer
 

:bounce:  :bounce:  :bounce:


---------------
LOVE & PEACE !!! [:kirvel]
n°166697
R@NNIS
Tout est possible ou presque.
Posté le 26-06-2002 à 19:51:05  profilanswer
 

[:nofret] jeune padawan ke le up avec toi soit [:nofret]


---------------
Mes News
n°166888
try58
Posté le 27-06-2002 à 09:17:10  profilanswer
 

J'ai regle mon probleme.
Juste apres avoir appele la fonction LoadMenu, il faut rajouter :
CMenu *PopupMenu = ContextMenu.GetSubMenu(0);
et appeler la fonction :
PopupMenu->TrackPopupMenu(...);
Bien sur, le programme risque de plante si vous n'avez pas de sous-menu.
Autre chose, j'utilisais l'evenement click droit sur la CListCtrl pour afficher mon menu contextuel. Celui-ci s'affiche bien mais lorsque je selectionne un element, il ne se passe rien malgres que j'ai associe un evenement a chaque entree de mon menu.
Pour regler le probleme, il vaut mieux afficher son menu contextuel sur l'evenement OnContextMenu() de la boite de dialogue principale. Ensuite, il suffit juste de verifier a afficher le menu quand on clique a l'interieur de la CListCtrl avec les fonctions GetCursorPos, GetDlgItem et GetWindowRect.
Si vous ne savez pas rajouter un evenement a votre boite de dialogue principale sous VC7 :
http://forum.hardware.fr/forum2.ph [...] subcat=386
Si vous avez une meilleure methode pour afficher un Menu contextuel, votre post sera le bienvenu.


---------------
LOVE & PEACE !!! [:kirvel]
n°166901
try58
Posté le 27-06-2002 à 09:41:54  profilanswer
 

Petite rectification :
pas besoin d'utiliser la fct GetCursorPos() etant donne que les coordonnees du click sont deja passees en parametre de OnContextMenu().


---------------
LOVE & PEACE !!! [:kirvel]

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [VC++] Pb avec un menu contextuel

 

Sujets relatifs
Petit question pour un faire un menu déroulantMenu dynamique sur des images.
Modification des menu popup de windows[JAVASCRIPT] menu dynamique : besoin d'aide !!!!
[JAVASCRIPT] menu dynamique : besoin d'aide !!!!Image 16*16 dans un menu en VB ?
[VB6] Question à propos de Menu (Image dedans)Comment on execute un .exe depuis un menu sous Builder
Comment faire un appel a un "Childform" depuis un menu ?JavaScript : fixer un menu (calque) dans une cellule fixe !
Plus de sujets relatifs à : [VC++] Pb avec un menu contextuel


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)