А как понять, куда щёлкнул юзер, в картинки или текст?
или надо напильником вроде
- Код: Выделить всё
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var tn:TTreeNode;
left1, ww, ww1, ww2:integer;
begin
tn:=TreeView1.GetNodeAt(x,y);
if tn=nil then exit;
ww:=TreeView1.DefaultItemHeight;
ww1:=0; ww2:=0;
if TreeView1.StateImages<>nil then
if (tn.StateIndex>-1)and(tn.StateIndex<TreeView1.StateImages.Count)then ww1:=ww;
if TreeView1.Images<>nil then
if (tn.ImageIndex>-1)and(tn.ImageIndex<TreeView1.Images.Count)then ww2:=ww;
if tn<>nil then
begin
left1:=tn.Level*ww-4+ww;
Memo1.Lines.Add('X='+IntToStr(X));
if (x>left1)and(x<left1+ww1) then
begin
Memo1.Lines.Add('первая картинка StateIndex');
if tn.StateIndex=1 then tn.StateIndex:=2
else tn.StateIndex:=1;
end else
if (x>left1+ww1)and(x<left1+ww1+ww2) then
begin
Memo1.Lines.Add('вторая картинка ImageIndex');
tn.ImageIndex:=tn.ImageIndex+1;
tn.SelectedIndex:=tn.ImageIndex;
end else
if x<left1 then Memo1.Lines.Add('Перед картинками')
else Memo1.Lines.Add('Текст после картинок');
end;
end;
допиливать