normal tu utilises case treeview1.selected.level of
donc il faut que les noeuds soient sélectionnés..
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
HT : THitTests;
begin
with Sender as TTreeView do
begin
HT := GetHitTestInfoAt(X,Y);
if (htOnItem in HT) then
memo1.Lines.Add(TTreeNode(GetNodeAt(X,Y)).Text);
end;
end;
Voilà une procédure qui fonctionne sur le OnMouseDown :
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
HT: THitTests;
AnItem: TTreeNode;
begin
with Sender as TTreeView do
begin
HT := GetHitTestInfoAt(X, Y);
AnItem := TreeView1.GetNodeAt(X, Y);
if (htOnItem in HT) then
memo1.Lines.Add(AnItem.Text);
end;
end;