我做一个程序,将菜单的内容加到treeview控件上。通过如下代码实现了每项前带checkbox的功能。procedure SetComCtlStyle(Ctl: TWinControl; Value: Integer; UseStyle: Boolean);
var
  Style: Integer;
begin
  if Ctl.HandleAllocated then
  begin
    Style := GetWindowLong(Ctl.Handle, GWL_STYLE);
    if not UseStyle then Style := Style and not Value
    else Style := Style or Value;
    SetWindowLong(Ctl.Handle, GWL_STYLE, Style);
  end;
end;但是,我改如何处理treeview项的checked事件阿?找了半天,也不知道treeview的什么事件可以接收到checked消息?请各位多多指点!谢谢

解决方案 »

  1.   

    procedure TForm1.TreeNT1Checked(Sender: TObject; Node: TTreeNTNode);
    beginend;procedure TForm1.TreeNT1Checking(Sender: TObject; Node: TTreeNTNode;
      var AllowCheck: Boolean);
    beginend;
      

  2.   

    我还是放弃了这个方法了!
    用stateindex属性来作了!procedure Tfrmqxsz.TreeView1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
      var MyNode:TTreeNode;
    begin
     MyNode:=Treeview1.GetNodeAt(X,Y);
      if Mynode.stateIndex =0 then
       begin
          MYNode.StateIndex :=1 ;
       end
      else
       begin
          MyNode.StateIndex:=0;
       end;
    end;
      

  3.   

    我用隐藏函数实现check功能,但没办法取到checked的条目的值,怎么办???
      

  4.   

    up,我也遇到这个问题,checkbox是看到了,可是却取不到checkbox选中的item。