本帖最后由 okmnjizc 于 2011-09-22 10:27:20 编辑

解决方案 »

  1.   

    在CustomDrawItem事件中,自己画出来
      

  2.   

    想过 如下:procedure TfrmMain.TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      Sender.Canvas.TextOut();
      Sender.Canvas.Draw();
    end;
    但是里面要求坐标 不知怎么个弄法,自己算??
      

  3.   

    自画事件里做文章。刚才想到一个BT的treeview需求,自己实现才几乎不可能。。
    treeview控件如何可以分栏显示的?
    不是节点有多个列、属性;
    而是原来要占200x1200的空间,现在只要(200+200+200)x400就可以了
    收缩、展开还要能正常:第1栏的节点收缩了,第2、3栏的自动左滚、上滚
      

  4.   

    我知道自画啊,但是它每个 node 的左上角坐标都没有~ 我画时 不好确定位置啊~~
      

  5.   


    每个 node 的左上角坐标:function Ttreenode.DisplayRect(TextOnly: Boolean): TRect;