Bonjour,
J'ai attaché un popupMenu sur mon treeview et j'aimerais qu'il ne s'execute que si le clic droit a été fait sur un noeud (on ne peut pas attacher le popupMenu directement sur un noeud, c'est dommage...).
J'ai réussi à faire en sorte que le clic droit sélectionne l'item en dessous mais je ne détecte pas SI il y a bien un item dessous:
(tvMain = treeview, pmMain = PopupMenu)
En fait, je dois modifier le popupMenu selon qu'il soit sur un noeud ou un autre...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TfrmMain.tvMainMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer); var mpos: TPoint; begin GetCursorPos(mpos); mpos := tvMain.ScreenToClient(mpos); if Button=mbRight then begin tvMain.Perform(WM_LBUTTONDOWN,1,MakeLParam(mpos.X,mpos.Y)); tvMain.Perform(WM_LBUTTONUP,0,0); tvMain.PopupMenu := pmMain; end; end;
De plus, j'ai peur de m'être compliqué la tache (qui me parait simple) en partant dans un truc de fou.
Partager