如何将一个窗体中的文本信息传递给另一个窗口?? 请教: 如何将一个窗体中的文本信息传递给另一个窗口?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 既然你说的不详细,我也泛泛而谈了。 在你说的另一个窗体所在的单元中引用第一个窗体的单元。 然后,直接可以得到其文本信息。比如: Form2.Edit1.Text := Form1.Edit1.Text;---------------------------------------------基本搞定! uses 单元!s:string;s:=form1.label1.caption;正如楼上兄弟说,把问题说清楚! 谢谢!具体情况是:一个父窗口form1,产生一个子窗口form2,在子窗口中有一个memo控件,现在需要把memo的数据防到父窗口form1的memo中去! 最直接的办法是利用ShareMemory,不过有点麻烦也可以利用API消息传递SendMessage(里面可以指向你的字符串) 分数有点少,不过,这不是最重要的。-----------用剪贴板来做--------------------------------1: 在主窗体中引用子窗体单元。并且添加一个剪贴板单元ClipBrd。2:主窗体上有一个Memo1,Button1。子窗体上有一个Memo2。procedure TForm1.Button1Click(Sender: TObject);var ms : TClipboard; p: PChar;begin GetMem(p, 1024); p := Form2.Memo2.Lines.GetText; Clipboard.SetTextBuf(p); Form1.Memo1.Lines.Add(Clipboard.AsText); p := nil; FreeMem(p);end;----------------------Delphi6.0下调试通过-------------------- 我认为,用消息处理是最好的坚决放对利用uses单元来传递文本或数据。第一:这样做使得程序的维护很麻烦,修改代码要在很多地方改动;第二:容易产生互相调用的后果。、、、、、如果像你说的,最简单而且比较好的办法(我认为),就是利用参数传递。在一个窗体中创建另外一个窗体:如在TForm1中调用TForm2窗体。你在TForm2窗体的public 中定义:Constructor CreateIt(Owner: TComponent; Str: TString);TForm2.createIt(Owner:TComponent; Str:String);begin inherited create(Owner); . .end;在TForm1中要调用TForm2的地方如下写代码: Form2 := TForm2.createit(Owner,aStr); Form2.showmodal; Form2.free;这样,要传的文本就在窗体中传递了。。 哦。上面错了。TForm2的构造函数应该传递一个 形参。TForm2 Constructor CreateIT(Owner:TComponent; var Str:String) SQLCONNECTION 连接 DB2数据库 关于多线程的问题。 如何下载文件? 如果判断IE窗口是否最大化 关于rave报表问题! 大家来看看这个问题是不是很有趣! Delphi的数据库应用系统中,一般可以采用哪些措施来提高系统的性能?请各位高手指教。 小弟想学习网络编程,高手请进来说说..... 招远程兼职软件开发人员,不限地区,但待遇不高 请问如何将PaintBox.Canvas的当前内容保存至内存, 有关TTreeView的问题? 如何屏闭windows的某些消息.例如wm_copy wm_cut等等?
在你说的另一个窗体所在的单元中引用第一个窗体的单元。
然后,直接可以得到其文本信息。
比如:
Form2.Edit1.Text := Form1.Edit1.Text;---------------------------------------------基本搞定!
s:string;
s:=form1.label1.caption;
正如楼上兄弟说,把问题说清楚!
具体情况是:
一个父窗口form1,产生一个子窗口form2,在子窗口中有一个memo控件,现在需要把memo的数据防到父窗口form1的memo中去!
也可以利用API消息传递SendMessage(里面可以指向你的字符串)
-----------用剪贴板来做--------------------------------
1: 在主窗体中引用子窗体单元。并且添加一个剪贴板单元ClipBrd。
2:主窗体上有一个Memo1,Button1。子窗体上有一个Memo2。procedure TForm1.Button1Click(Sender: TObject);
var
ms : TClipboard;
p: PChar;
begin
GetMem(p, 1024);
p := Form2.Memo2.Lines.GetText;
Clipboard.SetTextBuf(p);
Form1.Memo1.Lines.Add(Clipboard.AsText);
p := nil;
FreeMem(p);
end;
----------------------Delphi6.0下调试通过--------------------
坚决放对利用uses单元来传递文本或数据。第一:这样做使得程序的维护很麻烦,修改代码要在很多地方改动;第二:容易产生互相调用的后果。、、、、、如果像你说的,最简单而且比较好的办法(我认为),就是利用参数传递。在一个窗体中创建另外一个窗体:如在TForm1中调用TForm2窗体。你在TForm2窗体的public 中定义:Constructor CreateIt(Owner: TComponent; Str: TString);
TForm2.createIt(Owner:TComponent; Str:String);
begin
inherited create(Owner);
.
.
end;在TForm1中要调用TForm2的地方如下写代码:
Form2 := TForm2.createit(Owner,aStr);
Form2.showmodal;
Form2.free;这样,要传的文本就在窗体中传递了。。
TForm2 Constructor CreateIT(Owner:TComponent; var Str:String)