是这样的:
一个主窗体 treeview 有很多个节点,我左击某个节点
就弹出一个新的窗体,新的窗体上有个 edit 和 button1当我 单击 新窗体的 button1 按钮,就需要把 edit.text 的值
写到 主窗体 treeview 节点(就是刚才左击的节点)的 data 属性里现在问题:
单击 新窗体的 button1 按钮,怎么对应到
treeview 节点(就是刚才左击的节点)呢?是不是定义个全局变量
我左击节点时,把某个值写到 这个变量里
那到底要写个什么值呢?
(是 treeview 的个数,好像也不行)谢谢!
一个主窗体 treeview 有很多个节点,我左击某个节点
就弹出一个新的窗体,新的窗体上有个 edit 和 button1当我 单击 新窗体的 button1 按钮,就需要把 edit.text 的值
写到 主窗体 treeview 节点(就是刚才左击的节点)的 data 属性里现在问题:
单击 新窗体的 button1 按钮,怎么对应到
treeview 节点(就是刚才左击的节点)呢?是不是定义个全局变量
我左击节点时,把某个值写到 这个变量里
那到底要写个什么值呢?
(是 treeview 的个数,好像也不行)谢谢!
我不知道我弹出的窗口是否是模态
我这样新建窗口的
GzzSxForm:=TGzzSxForm.Create(self);
try
GzzSxForm.ShowModal;
finally
GzzSxForm.Free;
end;
这样弹出的是模态窗口吗?
大哥,节点的什么值是唯一的啊?谢谢!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;type
TForm1 = class(TForm)
TreeView1: TTreeView;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses
Unit2;
{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
var
ss:string;
ss1:^string;
begin
ss:='12345';
new(ss1);
ss1^:=ss;
TreeView1.Items[1].Data:=ss1;
end;procedure TForm1.Button1Click(Sender: TObject);
var
CurrenNode:TTreeNode;
ss:^string;
ssstr:string;
begin
if treeview1.selected<>nil then
CurrenNode:=treeview1.selected;
new(ss);
ss:=CurrenNode.Data;
ssstr:=ss^;
showmessage(ssstr);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
Form2:=TForm2.Create(self);
try
Form2.ShowModal;
finally
Form2.Free;
end;end;end.unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm2 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementationuses
Unit1;{$R *.dfm}procedure TForm2.Button2Click(Sender: TObject);
begin
form2.Close;
end;procedure TForm2.Button1Click(Sender: TObject);
begin
Assert(Form1.TreeView1.Selected <> nil);
Form1.TreeView1.Selected.Data := PChar(edit1.Text);
end;end.
是不是
Assert(Form1.TreeView1.Selected <> nil);
Form1.TreeView1.Selected.Data := PChar(edit1.Text);这里写错了呢?
谢谢!
非常奇怪的是:
procedure TForm2.Button1Click(Sender: TObject);
begin
Assert(Form1.TreeView1.Selected <> nil);
Form1.TreeView1.Selected.Data := PChar(edit1.Text);
end;
这样不行
单击 Button1 出现路径错误
procedure TForm2.Button1Click(Sender: TObject);
var
ss:string;
ss1:^string;
begin
ss:=edit1.Text;
new(ss1);
ss1^:=ss;
Assert(Form1.TreeView1.Selected <> nil);
Form1.TreeView1.Selected.Data := ss1;
end;可以啊~~这是什么原因啊?谢谢!