答:有关TTreeView的八个问题?(15*8)-------我没办法回了。看这办吧,不对之处,请指正。
--ROOT
|----LEVEL1.1
|--------LEVEL2.1
|--------LEVEL2.2
|--------LEVEL2.3
|----LEVEL1.2
|--------LEVEL2.1
|--------LEVEL2.2
|--------LEVEL2.3
|......
0.如何得到ROOT的值,并进入使ROOT获得焦点并进入编辑状态;
/////////
procedure TForm1.Button1Click(Sender: TObject);
var nod1:ttreenode;
begin
treeview1.HideSelection :=false; //这样才能看出效果。
nod1:=treeview1.Items.GetFirstNode; //得到第一个
nod1.Selected :=true; //选中的一个
nod1.EditText; //编辑
end;
/////////////////
1.如何获得一个点的级别,并回到上一级;
procedure TForm1.Button2Click(Sender: TObject);
var nod1,nod2:ttreenode;
begin
treeview1.HideSelection :=false;
nod1:=treeview1.Selected;
nod2:=nod1.Parent;
nod2.Selected :=true;
end;
///////////////
2.如何一个改变其它的同时改变,如第一个LEVEL2.1改为LEVEL2.5,则第二个同样;
//////////////
这个拟定一个变量,更新另外一个就行了。
//////////////
3.如何复制一个子结构,如复制
|----LEVEL1.2
|--------LEVEL2.1
|--------LEVEL2.2
|--------LEVEL2.3
并添加在最后;
////////////////////
var nod1,nod2,nod3:ttreenode;
begin
nod1:=treeview1.Selected; // 为一个有子结构;
nod3:=treeview1.Items.Add(nil,'新的一个');
nod2:=nod1.getFirstChild;
while nod2<>nil do
begin
treeview1.Items.AddChild(nod3,nod2.Text);
nod2:=nod1.GetNext;
end;
end;
///////////////////
4.如何判断是否是叶子节点,并限制每个树枝的叶子节点只有一个;
///
nod1:=treeview1.Selected;
nod2:=nod1.getFirstChild;
if nod2:=nil then 是 叶子节点
限制每个树枝的叶子节点只有一个
add 前,判断一下就可以了。
///
5.如何同其他信息同时保存到一个文件中,并读取;
////////////
procedure SaveToFile(const FileName: string);
////////////
6.如何同数据库连接,如:叶子节点是纪录的一个字段的值,如何从数据库中检索该纪录;
////////
读区数据库,把值加进去就行了,这个我有例子。
要了就联系。
////////
7.如何同时添加,同时删除
如
|----LEVEL1.1
|--------LEVEL2.1
|--------LEVEL2.2
|--------LEVEL2.3
|--------LEVEL2.4 //添加
|----LEVEL1.2
|--------LEVEL2.1
|--------LEVEL2.2
|--------LEVEL2.3
|--------LEVEL2.4 //同时添加;
///////
同例2
/////////
8.如果将这个结构存入一个表,该表如何设计最简洁,存储和读取如何进行.
///这是数据库的构造问题,和这个没有直接关系。