Tquestions为一个自定义记录类型
Pquestions=^Tquestions;代码如下:
procedure TSDIAppForm.AddNewNode(que:Tquestions);
var
newnode,parentNode:TTreeNode;
quetmp:Pquestions;
begin
Treeview1.SetFocus;
case que.que_type of
0: parentnode:=treeview1.Items.Item[0].Item[0];
1: parentnode:=treeview1.Items.Item[0].Item[1];
2: parentnode:=treeview1.Items.Item[0].Item[2];
3: parentnode:=treeview1.Items.Item[0].Item[3];
end;
newnode:=treeview1.Items.AddChildObject(parentnode,'test',@que);
newnode.SelectedIndex:=10;
newnode.ImageIndex:=8;
newnode.StateIndex:=-1;
newnode.Text:=que.que_memo;
new(que);
quetmp:=newnode.Data;
showmessage(quetmp.que_memo);<---------这里能够正确显示que_memo
end;procedure TSDIAppForm.SpeedButton1Click(Sender: TObject);
var que : Pquestions;
begin
new(que);
que:= treeview1.Selected.Data;
showmessage(que.que_memo);<--------?????????这里不能够正确显示que_memo
end;请指正(详码)!
Pquestions=^Tquestions;代码如下:
procedure TSDIAppForm.AddNewNode(que:Tquestions);
var
newnode,parentNode:TTreeNode;
quetmp:Pquestions;
begin
Treeview1.SetFocus;
case que.que_type of
0: parentnode:=treeview1.Items.Item[0].Item[0];
1: parentnode:=treeview1.Items.Item[0].Item[1];
2: parentnode:=treeview1.Items.Item[0].Item[2];
3: parentnode:=treeview1.Items.Item[0].Item[3];
end;
newnode:=treeview1.Items.AddChildObject(parentnode,'test',@que);
newnode.SelectedIndex:=10;
newnode.ImageIndex:=8;
newnode.StateIndex:=-1;
newnode.Text:=que.que_memo;
new(que);
quetmp:=newnode.Data;
showmessage(quetmp.que_memo);<---------这里能够正确显示que_memo
end;procedure TSDIAppForm.SpeedButton1Click(Sender: TObject);
var que : Pquestions;
begin
new(que);
que:= treeview1.Selected.Data;
showmessage(que.que_memo);<--------?????????这里不能够正确显示que_memo
end;请指正(详码)!
在addnewnode裡面
你應該是將treeview1.Selected.Data指向que,但是你已經銷毀了
所以,你應該傳值
推荐给朋友 | 关闭窗口
主 题: treeview控件的data属性问题
作 者: whzxk ()
等 级:
信 誉 分: 98
人 气: 0
所属论坛: Delphi 基础类
问题点数: 20
回复次数: 2
发表时间: 2003-10-22 20:31:33
Tquestions为一个自定义记录类型
Pquestions=^Tquestions;
代码如下:
procedure TSDIAppForm.AddNewNode(que:Tquestions);
var
newnode,parentNode:TTreeNode;
quetmp:Pquestions;
begin
Treeview1.SetFocus;
case que.que_type of
0: parentnode:=treeview1.Items.Item[0].Item[0];
1: parentnode:=treeview1.Items.Item[0].Item[1];
2: parentnode:=treeview1.Items.Item[0].Item[2];
3: parentnode:=treeview1.Items.Item[0].Item[3];
end;
new(quetmp); ********
quetmp.que_memo:=que_que_memo; ********
newnode:=treeview1.Items.AddChildObject(parentnode,'test',quetmp); ******
newnode.SelectedIndex:=10;
newnode.ImageIndex:=8;
newnode.StateIndex:=-1;
newnode.Text:=que.que_memo;
end;