Bonjour,
J'aimerai pouvoir sélectionner un noeud avec le clic droit en plus du clic gauche de ma souris avant d'afficher un popumenu.
Comment puis-je faire s'il vous plait ?
Merci d'avance.
Bonjour,
J'aimerai pouvoir sélectionner un noeud avec le clic droit en plus du clic gauche de ma souris avant d'afficher un popumenu.
Comment puis-je faire s'il vous plait ?
Merci d'avance.
Salut,
Une solution serait de faire un appel à GetNodeAt(X, Y) ou équivalent dans le event OnPopup du popupmenu. et ensuite focuser ce node.
Tu peux utiliser RightClickSelect, mais qui se montre pénible parfois
Ou le gérer manuellement si tu utilise un PopupMenu attaché à ton TTreeView, tient comme dans ce sujet [TTreeView] TPopupMenu différent suivant l'item cliqué
merci pour vos réponses ! en fait je viens de trouver la solution
pour ceux que ça intéresse la voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 procedure FORM1.TTreeViewContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); var Point : TPoint; begin //prend les coordonnées du curseur de souris GetCursorPos(Point); //permet de simuler le click. Mouse_Event(MOUSEEVENTF_LEFTDOWN, Point.X, Point.Y, 0, 0); Mouse_Event(MOUSEEVENTF_LEFTUP, Point.X, Point.Y, 0, 0); //rend la main a Windows. Application.ProcessMessages; PopupMenuTtreeView.Popup(Point.X, Point.Y); end;
Lol, c'est pas le truc compliqué !
Tu pouvais faire cela avec directement le OnPopup du Menu attaché au TTreeView !
C'est marrant de voir que Kaféine et Moi, on te propose la même solution, la plus simple mais tu en préfère une autre !
tu n'as quand même pas osé appelé ton TTreeView selon nom de TTreeView ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager