---中国    + 江苏
           -南京
           -苏州
           -南通    + 广东
           -广州
           -东皖
           -台州添加LBL1,LBL2控件
在treeview中我已经建好上面的树,请问在程序。 我点击“江苏”,如何使得LBL1得到 “江苏”的值(标题),再单击“南京”时,如何使得LBL2得到 “南京”这个值,而此时LBL1不变谢谢!! 

解决方案 »

  1.   

    是否国LBL1,LB2,只低效分别读取一次值?
      

  2.   

    是否LBL1,LB2,只依次分别读取一次值?要讲清楚。
      

  3.   

    在treeview的onselect事件中用 selecteditem.hasChildNode(大概是这个名字)方法来判断是否是叶节点。
    是叶节点就更新lbl2,否则就更新lbl1。
      

  4.   

    再单击“南京”时
    SelectedItem=“南京”
    SelectedItem.Parent=“江苏”
      

  5.   

    点击“江苏”,selected.level=0
    再单击“南京”时,selected.level=1综合这点和上条所说,就够了。
      

  6.   


    void __fastcall TForm1::TreeView1GetSelectedIndex(TObject *Sender,
          TTreeNode *Node)
    {
        if (TreeView1->Selected->Level==1)
        {
            Edit1->Text=TreeView1->Selected->Text;
        }
        else   if (TreeView1->Selected->Level==2)
        {
            Edit2->Text=TreeView1->Selected->Text;
        }
    }
      

  7.   

    //估计楼主是要点击节点之后,可以在lbl1和lbl2上显示节点的信息,界面更直观一点
    procedure changeLBLCaption(Node:TTreeNode)
    begin
      if node.parent=nil then
      //第一层,"中国",无需要处理
      exit;
      if node.hasChildNode then
      //第二层,楼主要处理的
      begin
        lbl1.caption:=Node.Text;
        lbl2.caption:='';
        exit;
      end
      else begin
        lbl1.caption:=Node.Parent.Text;
        lbl2.caption:=Node.Text;
        exit;
      end;
    end;
      

  8.   

    1、设置全局变量KK,初始值12、TreeView的MouseUp事件:
    procedure TShowTextFrm.TreeView1MouseUp(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var NowNode : TTreeNode;
        VCL:TComponent;
    begin
      TreeMouthKeyUp;                             //   鼠标的其它操作
      NowNode:=TreeView1.Selected;
      if NowNode.HasChildren then       //  叶节点
      begin
        VCL := FindComponent('Label'+IntTostr(KK));
        (VCL As TLabel).Caption:=NowNode.Text;
        kk:=kk+1;
      end;
    end;上述代码,依次Label(几十个)依次选取TreeView的值。
      

  9.   

    先建立一个Treenode的类
    var
    node:TTreenode;
    之后用你建立的那个treeview
    用 with treeview.items do
    begin
    node:=add(nil,'南京');
    label1.text:=selected.text;
    end;
      

  10.   

    GetNodeAt(X, Y)