yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
20 sept. 2006 à 15:18
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 2012
-
21 sept. 2006 à 00:25
Salut, pourriez-vous m'éclairer sur la gestion du click droit sur un item d'un CtreeCtrl en Win32 ou MFC, pour pouvoir ouvrir un menu popup selon l'item et à l'endroit de l'item sélectionné. Je ne demande pas du code prèt à coler mais une explication serait la bienvenue. Merci d'avance.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 20 sept. 2006 à 20:32
Salut,
Pour le clic droit, tu peux l'intercepter à plusieurs endroits, mais
WM_CONTEXTMENU semble le plus adapté. Pour trouver l'item sous le
curseur de la souris, tu peut envoyer le TVM_HITTEST au treeview.
<link href="../../../css/ie4.css" type="text/css" rel="stylesheet" /><!-- @ --><link href="../../../css/inetsdk.css" type="text/css" rel="stylesheet" /><!-- @ --><style type="text/css"><![CDATA[
PRE.clsCode { font-size:110%; }
PRE.clsSyntax { font-size:100%; }
TD DIV.clsBeta { display:none;}
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201624 20 sept. 2006 à 22:52
C'est bien ce que j'avais fait, mais il est impossible de selectionner un item avec le click droit, même si il s'Hilight, l'hItem renvoyé est celui sélectionné avant. j'avoue que c'est bizarre mais il y a une incohérence quelque part.
En cherchant ailleurs, on dit qu'il faut traiter obligatoirement le msg TVN_KEYDOWN avec OnKeyDown(), ce qui est totalement absurde mais contourne le problème.
Un test rapide en MFC montre bien le soucie.
Sinon merci de ta réponse.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 21 sept. 2006 à 00:25
Salut,
Chez moi je n'ai aucun probleme, l'item trouvé avec HitTest (et
TVHT_ONITEM) correspond bien a l'item juste sous le pointeur. Par
defaut le clic droit sur un item fait un peu n'importe quoi, mais tu
peux selectionner manuelement l'item trouvé avec SelectItem et dans ce
cas, le clic droit sur un item agis comme le clic gauche.
<link href="../../../css/ie4.css" type="text/css" rel="stylesheet" /><!-- @ --><link href="../../../css/inetsdk.css" type="text/css" rel="stylesheet" /><!-- @ --><style type="text/css"><![CDATA[
PRE.clsCode { font-size:110%; }
PRE.clsSyntax { font-size:100%; }
TD DIV.clsBeta { display:none;}