为了美观和开发效率,treeview,几乎被我淘汰了,一般用treelist,有好,关键是快,
节省时间。
如用treeview,可以画,先准备好三个bitmap文件,两个是不选中的,另一个是选中的
(注意是三个图片,两个不行,不知是不是treeview的bug)
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
HitInfo: THitTests;
node: TTreeNode;
Pos: TPoint;
begin
GetCursorPos(Pos);
Pos := self.TreeView1.ScreenToClient(Pos);
with Pos do
begin
HitInfo := self.TreeView1.GetHitTestInfoAt(X, Y);
node := self.TreeView1.GetNodeAt(X, Y);
end;
if (node <> nil) and (HtOnStateIcon in HitInfo) then
begin
if node.StateIndex = 1 then
node.StateIndex := 2
else if node.StateIndex = 2 then
node.StateIndex := 1;
end;
end;