请问怎样获取调用窗体的控件,被调用窗体关闭时将数据再写回这个控件。急 ( 积分: 100 )

  • 主题发起人 主题发起人 sying
  • 开始时间 开始时间
S

sying

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,代码如下:
procedure TFmCustFaceMain.cxDBButtonEdit17PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
ut3calendar.ShowCalendar(cxDBButtonEdit17);
end;
这是主窗体,这个事件就是调用另外一个窗体。

下面是被调用窗体。
procedure ShowCalendar(EditTmp :TcxDBButtonEdit);
begin
fm3calendar:= Tfm3calendar.Create(nil);
with fm3calendar do
try
showmodal;
finally
Free;
end;
end;
我现在就发愁这个EditTmp是个局部变量,如何在关闭事件中获得,并且将数据返回到主窗体中的那个被点击的控件?
 
如题,代码如下:
procedure TFmCustFaceMain.cxDBButtonEdit17PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
ut3calendar.ShowCalendar(cxDBButtonEdit17);
end;
这是主窗体,这个事件就是调用另外一个窗体。

下面是被调用窗体。
procedure ShowCalendar(EditTmp :TcxDBButtonEdit);
begin
fm3calendar:= Tfm3calendar.Create(nil);
with fm3calendar do
try
showmodal;
finally
Free;
end;
end;
我现在就发愁这个EditTmp是个局部变量,如何在关闭事件中获得,并且将数据返回到主窗体中的那个被点击的控件?
 
function ShowCalendar(EditTmp :TcxDBButtonEdit) : string;
begin
fm3calendar:= Tfm3calendar.Create(nil);
with fm3calendar do
try
showmodal;
if resultmodul = mbok then
result := (你要在窗口返回的数据)
finally
Free;
end;
end;
 
同意楼上

procedure ShowCalendar(EditTmp :TcxDBButtonEdit);
begin
fm3calendar:= Tfm3calendar.Create(nil);
with fm3calendar do
try
if showmodal = MBOK then begin// 这里表示正常返回,一般是在fm3calendar 有一个Button(类型是Tbutton,它的Modalresult属性为mrOk,或者在Close的时候设置self.ModalResult = mrOk, 在另外一个按钮设置ModalResult属性为mrCancel等等)
result := fm3calendar.edtxxxx.text;// 大概是这个意思,取控件的值
end;
finally
Free;
end;
end;
 
多谢 apathyboy和chenybin。问题解决了。另chenybin你的注释很有用,谢谢。[:)][:D]
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
848
import
I
后退
顶部