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

  FORUM HardWare.fr
  Programmation

  [MFC] Menu contextuel sur ListBox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MFC] Menu contextuel sur ListBox

n°95820
antsite
Je me souviens
Posté le 01-02-2002 à 17:39:15  profilanswer
 

Salut,
je n'arrive pas à afficher un menu quand je clique droit sur une ListBox. Le problème c'est pas d'afficher le menu ni d'intercepter le RMouseDown mais c'est de savoir si le curseur est au dessus de la liste ! Comment faire ?
merci
  ANT

mood
Publicité
Posté le 01-02-2002 à 17:39:15  profilanswer
 

n°95823
VisualC++
J'va y penser ...
Posté le 01-02-2002 à 17:57:54  profilanswer
 

Dans ton OnRMouseButtonDown
 
CRect rect;
m_Listbox.GetClientRect(rect);
 
if (rect.PtInRect(point) == 0) {
   TRACE ("rclick not on the listbox\n" );
}
else {
   TRACE ("rclick on the listbox\n" );
}
 
point etant un des 2 param du WM_RMOUSBUTTONDOWN

 

[edtdd]--Message édité par VisualC++--[/edtdd]


---------------
VT ... Vaucluse / Vrille(euse :sarcastic: ) c'est pareil tant qu'il y a l'humour :D
n°95867
la viper
Posté le 01-02-2002 à 22:05:31  profilanswer
 

cherche l'evenement OnContextMenu ...
dans la class wizard..

n°95938
antsite
Je me souviens
Posté le 02-02-2002 à 11:22:58  profilanswer
 

merci je vais essayer ça

n°95943
antsite
Je me souviens
Posté le 02-02-2002 à 11:59:54  profilanswer
 

Ca marche pas !
void CGServerDlg::OnRButtonDown(UINT nFlags, CPoint point)  
{
 CRect rect;
 m_clients.GetClientRect(rect);
 
 if (rect.PtInRect(point) == 0)
  MessageBeep(MB_OK); //ca marche
 else
  MessageBox("salut" ); //ça marche pas !
 
 CDialog::OnRButtonDown(nFlags, point);
}
 
il détecte bien si la souris est au dessus de la liste mais si elle y est il fait pas l'instruction, à croire que le message WM_RBUTTONDOWN n'est pas envoyé !

n°96153
antsite
Je me souviens
Posté le 03-02-2002 à 10:46:40  profilanswer
 

up !  :bounce:

n°96175
VisualC++
J'va y penser ...
Posté le 03-02-2002 à 12:15:13  profilanswer
 

Salut,
desole ca donne plutot ca (car l event MOUSEDOWN est envoye mais a ta listbox, faudrait l intercepter a son niveau mais faut utiliser une classe derivee pour ce faire ou alors la creer mais dynamiquement) donc comme l a dit la viper, tu peux^via le oncontextmenu (mais c est en screen coordinates les valeurs)
 
void CMyDlg::OnContextMenu(CWnd* pWnd, CPoint point)  
{
 CRect rect;
 m_ListBox.GetWindowRect(rect);
 
 if (rect.PtInRect(point) == 0) {
  TRACE ("rclick not on the listbox\n" );
 }
 else {
  TRACE ("rclick on the listbox\n" );
 }  
}

 

[edtdd]--Message édité par VisualC++--[/edtdd]


---------------
VT ... Vaucluse / Vrille(euse :sarcastic: ) c'est pareil tant qu'il y a l'humour :D

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

  [MFC] Menu contextuel sur ListBox

 

Sujets relatifs
JavaScript Menu DynamiqueC++ MFC, Template
[Delphi] 2 question: ordonner listbox ?? + programme tjs visible??[C++ / MFC] Affichage de texte japonais
[DELPHI] Menu par prog - chope le nom de l'objet[windows VC++] Bibliothèque (style MFC) pour créer des outils
[VB] ComboBox et ListBox[MFC Dialog Based - VS6] Qd je met à jour affichage -> moche ...
[MFC Dialog Based - VS6] Comment choisir la couleur d'1 TextOut ?[MFC Dialog Based - VS6] Lancement d'une boucle par un bouton
Plus de sujets relatifs à : [MFC] Menu contextuel sur ListBox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR