Bonjour à touteset à tous,
J'aimerais savoir comment faire fonctionner le popumenu sur un node de niveau 0 uniquement ?
dois-je utilise l'évenement OnMouseDown ? si oui comment ?
Avez-vous un exemple SVP ou un tuto.
Bonjour à touteset à tous,
J'aimerais savoir comment faire fonctionner le popumenu sur un node de niveau 0 uniquement ?
dois-je utilise l'évenement OnMouseDown ? si oui comment ?
Avez-vous un exemple SVP ou un tuto.
Tu as raison Jipé,
J'ai trouvé la solution sur ce site mais en C# que j'ai traduit en Delphi
voici le code donc qui permet d'utiliser le popupmenu sur une branche de niveau 0 d'un Treeview
Donc
1) créer une popupMenu
2) Ne pas integrer dans le treeview se popupMenu
3) Puis dansl'evenement OnMouseDown du Treeview mettre ce code
Voilà bonne journée à tous
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 procedure TFPrincipal.TreeViewBaseMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Var xNode : TTreeNode; begin xNode := TreeViewBase.GetNodeAt(X,Y); // On récupère le noeud à l'endroit du clique if xNode <> nil then // on test si le noeud est un noeud lol Begin if (xNode.Level = 0) and (Button = mbRight) then // On s'assure d'être sur le niveau le plus elevé du noeud + si c'est un clique Droit Begin TreeViewBase.Selected := xNode; // On dit au treeview que la où je clique je selection le noeud; NomFenetreFille := TreeViewBase.Selected.Text; // Ca c'est ma sauce à moi PopupMenu1.Popup(X+Self.Left+TreeViewBase.Left+10, Y+Self.Top+TreeViewBase.Top+85); // On affiche le popupMenu le +10 et le +85 c'est pour avoir un placement du popup correct end; end; end;
Partager