窗口值传递(100分)

地球

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使一个MDIChild窗口点开另一个MDIChild窗口,然后再点击后面窗口的button,使后面窗口的 edit里的
属性传递给第一个窗口
 
通过参数传递

 
在第一个窗口中定义一个Public变量AAA,
USE 第一个窗口单元
然后后面窗口的buttonclick事件中:
第一个窗口.AAA:=edit.text;
 
form1.edit1.text:=form2.edit1.text;
 
如何使一个MDIChild1窗口点开另一个MDIChild2窗口,然后再点击后面窗口(MDIChild1?MDIChild2?)
的button(手动?代码驱动),使后面窗口的 edit里的属性传递给第一个窗口
 
如何使一个MDIChild1窗口点开另一个MDIChild2窗口,然后再点击后面MDIChild2的button使MDIChild2窗口的 edit里的属性传递给MDIChild1窗口
 
在Project Option中将Form3从AutoCreate中移走
//===============================================
unit Unit2;

uses Unit3;
procedure TForm2.Button1Click(Sender: TObject);
begin
Form3:=TForm3.Create(Self);
Form3.Show;
end;
=================================================
unit Unit3;

uses Unit2;
procedure TForm3.Button1Click(Sender: TObject);
begin
Form2.Button1.Caption:=Edit1.Text;
end;
 
多人接受答案了。
 
//*******绝对100%正确
unit MDIChild;

interface
type
TMDIChildForm=class(TForm)
Edit1: TEdit;
btnOpen: TButton;
btnAssignEdit: TButton;

public
FrontFrom: TMDIChildForm;//任意窗体类

procedure btnOpenClick(Sender: TObject);
procedure btnAssignEditClick(Sender: TObject);
end;
implementation

{ TMDIChildForm }

procedure TMDIChildForm.btnAssignEditClick(Sender: TObject);
begin
with TfrmChild.Create(Self) do
FrontForm := Self;
end;

procedure TMDIChildForm.btnOpenClick(Sender: TObject);
begin
if Assigned(FrontForm) then
FrontForm.Edit1.Text := Edit1.Text;
end;

end.
 
顶部