Depuis hier, je bloque dessus! Je veux changer l'icone du treenode quand l'utilisateur clique sur cet icone, et uniquement sur cet icone!

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 TForm1.TreeView1Click(Sender: TObject);
var Point, P1:TPoint;
begin
  GetCursorPos(P1);
  label1.Caption:=IntToStr(P1.X);
  label2.Caption:=IntToStr(P1.y);
  Point:=Form1.ScreenToClient(P1);
  label3.Caption:=IntToStr(Point.X);
  label4.Caption:=IntToStr(Point.Y);
  if Treeview1.Selected=nil then exit;
  Treeview1.Selected.Selected:=true;
  if TreeView1.GetHitTestInfoAt(Point.X,Point.Y)=[htOnIcon,htOnStateIcon]
  then
    if Treeview1.Selected.ImageIndex = 0
    then Treeview1.Selected.ImageIndex := 1
    else Treeview1.Selected.ImageIndex := 0;
end;
Il se passe rien, l'icone ne change pas!

J'ai même essayé

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if TreeView1.GetHitTestInfoAt(P1.X,P1.Y)
et aussi

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Point:=TreeView1.ScreenToClient(P1);
rien n'y fait!!

Merci de votre aide!