---中国 + 江苏
-南京
-苏州
-南通 + 广东
-广州
-东皖
-台州添加LBL1,LBL2控件
在treeview中我已经建好上面的树,请问在程序。 我点击“江苏”,如何使得LBL1得到 “江苏”的值(标题),再单击“南京”时,如何使得LBL2得到 “南京”这个值,而此时LBL1不变谢谢!!
-南京
-苏州
-南通 + 广东
-广州
-东皖
-台州添加LBL1,LBL2控件
在treeview中我已经建好上面的树,请问在程序。 我点击“江苏”,如何使得LBL1得到 “江苏”的值(标题),再单击“南京”时,如何使得LBL2得到 “南京”这个值,而此时LBL1不变谢谢!!
是叶节点就更新lbl2,否则就更新lbl1。
SelectedItem=“南京”
SelectedItem.Parent=“江苏”
再单击“南京”时,selected.level=1综合这点和上条所说,就够了。
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;
}
}
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;
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的值。
var
node:TTreenode;
之后用你建立的那个treeview
用 with treeview.items do
begin
node:=add(nil,'南京');
label1.text:=selected.text;
end;