答:有关TTreeView的八个问题?(15*8)-------我没办法回了。看这办吧,不对之处,请指正。

guipei 2001-10-15 01:11:54
--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.如果将这个结构存入一个表,该表如何设计最简洁,存储和读取如何进行.


///这是数据库的构造问题,和这个没有直接关系。












...全文
74 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
guipei 2001-10-15
  • 打赏
  • 举报
回复
.如何复制一个子结构,如复制
¦----LEVEL1.2
¦--------LEVEL2.1
¦--------LEVEL2.2
¦--------LEVEL2.3
并添加在最后;


procedure TForm1.Button3Click(Sender: TObject);
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;
if nod1.Parent <> nod2 then break; ////////加上这一句 ,可以完成一级复制。
end;
end;

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧