把树加到列表上面,但树所占的空间还一样保留着列表的行,等于就是树的背景没显示出来,只在列表上显示树的节点和连接线!急,谢谢各位!

解决方案 »

  1.   

    晕,就是在listview上放treeview,然后treeview背景透明。是这个意思吧?
    网上找找吧,有代码的
      

  2.   

    楼上Corn1 说对了,但我不知道代码什么写!谢谢
      

  3.   

    代码找到了!但不知道添加在哪  请指教!谢谢
          procedure   TForm.TreeView1CustomDrawItem(Sender:TCustomTreeView;
          Node: TTreeNode;
          State: TCustomDrawState;
          var DefaultDraw: Boolean);
      var
          NodeRect:   TRect;
      begin
          with   TreeView1.Canvas
          do
          begin
                  SetBkMode(Handle,TRANSPARENT);
                  NodeRect:= Node.DisplayRect(False);
                  DefaultDraw:=False;
                  Brush.Style:=bsClear;
                  NodeRect.Left:=NodeRect.Left + (Node.Level*TreeView1.Indent);
                  NodeRect.Left:=NodeRect.Left + TreeView1.Indent + 5;
                  TextOut(NodeRect.Left,NodeRect.Top,Node.Text);
          end;
      end;
      

  4.   

    错误提示如下  请指点!谢谢
    [Pascal Error] Unit1.pas(31): E2003 Undeclared identifier: 'DefaltDraw'
    [Pascal Error] Unit1.pas(32): E2003 Undeclared identifier: 'Brush'
    [Pascal Error] Unit1.pas(33): E2029 ')' expected but identifier 'Level' found
    [Pascal Error] Unit1.pas(33): E2066 Missing operator or semicolon
    [Pascal Error] Unit1.pas(37): E2029 'IMPLEMENTATION' expected but ';' found
    [Pascal Error] Unit1.pas(38): E2029 '.' expected but 'IMPLEMENTATION' found
    [Pascal Warning] Unit1.pas(38): W1011 Text after final 'END.' - ignored by compiler
    [Pascal Error] Unit1.pas(20): E2065 Unsatisfied forward or external declaration: '.2'
    [Pascal Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Unit1.pas'
      

  5.   

    选中TreeView1,按F11,选"event",在"onCustomDrawItem"后的输入框双击鼠标,然后把上面的代码放进去