如何在子窗口传递值(50分)

地球

Unregistered / Unconfirmed
GUEST, unregistred user!
本人开发一个 MDI应用程序,但在子窗口传递值上出现问题,假设我打开A子窗口,点击其中的
BUTTON打开B子窗口,然后要求点击B子窗口的BUtton,将B子窗口中的edit值传入A子窗口中的Edit控件
中,急
 
A.Edit.Text:=B.Edit.Text
 
不行的,因为这是子窗口
 
定义一个全局消息常量,用消息递值 ;
 
无效用户,或者 LID

unit A
......
B.ShowModal();
self.Edit.Text:=B.Edit.Text;
B.Free
.....
不明白这里用A.Edit和self.Edit有什么区别,一用A.Edit就会报错。

.....
 
我假设有一个货物编号的edit1,然后要点击边上的 button出来商品表的明细再点击明细,
货物编号就得出来,是不是得两个窗口
 
而且两个窗口是非AutoCreate窗口,在运行时定义的
 
卡兄能不能说详细一点怎样定义
 
function FindForm(FormClass: TFormClass): TForm;
var
I: Integer;
begin
Result := nil;
for I := 0 to Screen.FormCount - 1 do begin
if Screen.Forms is FormClass then begin
Result := Screen.Forms;
Break;
end;
end;
end;
================================================
Buttonclick:
Var
Fm:TForm;
begin
Fm:=FindForm(TAForm);
if Fm<>Nil then TAForm(Fm).Edit1.Text:=Edit2.Text;//Edit2是B Form的
 
看看 MDIChildCount, MDIChildren的帮助
 
顶部