ttreeview 中的结点做成checkbox?(50分)

  • 主题发起人 主题发起人 yvtong
  • 开始时间 开始时间
Y

yvtong

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:
ttreeview 中的结点如何做成checkbox?
并可以触发事件;
 
利用TreeView.StateImages,往ImageList中加入两幅图片,
一张表示Checked = True, 假设Index = 0
另一表示Checked = False, 假设Index = 1
然后:
procedure TForm1.TreeView1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
HitTests: THitTests;
begin
HitTests := TreeView1.GetHitTestInfoAt(X, Y);
if htOnStateIcon in HitTests then
begin
if TreeView1.Selected.StateIndex = 0 then
TreeView1.Selected.StateIndex = 1;
if TreeView1.Selected.StateIndex = 1 then
TreeView1.Selected.StateIndex = 0;
if Assigned(...) then ... // 触发自定义事件
end;
end;

当然如果TreeView.Images没有用上,以上StateImages可用Images代替,
StateIndex --> ImageIndex
htOnStateIcon --> htOnIcon
 
能使用一个tnode 的子类实现吗?
 
接受答案了.
 
后退
顶部