L
lsys
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.OnClickIcon(SelectItems: TtreeNode);//支持两极目录,你完善一下
var i:integer;
begin
SelectItems.ImageIndex:=(SelectItems.ImageIndex +1) mod 2;
SelectItems.SelectedIndex:=SelectItems.ImageIndex;
selectitems.StateIndex:=SelectItems.ImageIndex;
IF SelectItems.HasChildren THEN
for I:=0 to SelectItems.Count-1 do BEGIN
SelectItems.Item.ImageIndex:=SelectItems.ImageIndex;
SelectItems.Item.StateIndex:=SelectItems.ImageIndex;
END
else
case SelectItems.Parent.ImageIndex of
0..1: BEGIN
SelectItems.Parent.ImageIndex:=2;
SelectItems.Parent.StateIndex:=2;
END;
2:begin
for I:=0 to SelectItems.Parent.Count-1 do
if SelectItems.Parent.Item.ImageIndex<>SelectItems.ImageIndex then
break;
if I=SelectItems.Parent.Count then BEGIN
SelectItems.Parent.ImageIndex:=SelectItems.ImageIndex;
SelectItems.Parent.StateIndex:=SelectItems.ImageIndex;
END;
end;
End;
//ImageIndex; 0 为空 1 选中 2 灰色选中
procedure TForm1.TV1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if htOnIcon in tv1.GetHitTestInfoAt(X,y) then
OnClickIcon(tv1.Selected)
End;
//你做两个TreeView,一个TreeView节点显示编码(将Visable=False),
//一个TreeView节点显示名称;
//将显示编码treeview imageindex=1 的列出来!
end;
var i:integer;
begin
SelectItems.ImageIndex:=(SelectItems.ImageIndex +1) mod 2;
SelectItems.SelectedIndex:=SelectItems.ImageIndex;
selectitems.StateIndex:=SelectItems.ImageIndex;
IF SelectItems.HasChildren THEN
for I:=0 to SelectItems.Count-1 do BEGIN
SelectItems.Item.ImageIndex:=SelectItems.ImageIndex;
SelectItems.Item.StateIndex:=SelectItems.ImageIndex;
END
else
case SelectItems.Parent.ImageIndex of
0..1: BEGIN
SelectItems.Parent.ImageIndex:=2;
SelectItems.Parent.StateIndex:=2;
END;
2:begin
for I:=0 to SelectItems.Parent.Count-1 do
if SelectItems.Parent.Item.ImageIndex<>SelectItems.ImageIndex then
break;
if I=SelectItems.Parent.Count then BEGIN
SelectItems.Parent.ImageIndex:=SelectItems.ImageIndex;
SelectItems.Parent.StateIndex:=SelectItems.ImageIndex;
END;
end;
End;
//ImageIndex; 0 为空 1 选中 2 灰色选中
procedure TForm1.TV1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if htOnIcon in tv1.GetHitTestInfoAt(X,y) then
OnClickIcon(tv1.Selected)
End;
//你做两个TreeView,一个TreeView节点显示编码(将Visable=False),
//一个TreeView节点显示名称;
//将显示编码treeview imageindex=1 的列出来!
end;