0
011101
Unregistered / Unconfirmed
GUEST, unregistred user!
在数据库程序中初始化子窗体时,经常需要在form初始化时传一个参数以便对form初始化后进行更多的控制.以下是我举的一个简单例子和要提的问题:
1>mdi子窗体中定义一方法:
product form_show(i:byte);
begin
pagecontrol1.activepage=i
end;
2>mdi主窗体中:
为了实现代码最大限度的重用,偶定义了一函数,如下:
function form1.form_create(form_class: Tcomponentclass;
form_name: Tform
name: string): boolean;
begin
try
if Application.FindComponent(name)<>nil then
else begin
Application.CreateForm(form_class,form_name);
[red] ////form_name.form_show(1) ///这功能不知怎么实现[/red]
form_name.Show;
result:=true;
end;
except
MessageDlg('初始化失败.',mterror,[mbok],0);
result:=false;
end;
end;
上面的函数会对子窗体进行初始化的动作.
3>在菜单click事件写如下代码:
form_create(Tform1,form1,'form1'):
执行上面代码仅仅只能初始化,不能调用mdi子窗体中自定义的事件.
------------------------问题--------------------------------
我要执行mdi子窗体中自定义的事件该怎么做?
函数传出Form1也不行.
1>mdi子窗体中定义一方法:
product form_show(i:byte);
begin
pagecontrol1.activepage=i
end;
2>mdi主窗体中:
为了实现代码最大限度的重用,偶定义了一函数,如下:
function form1.form_create(form_class: Tcomponentclass;
form_name: Tform
name: string): boolean;
begin
try
if Application.FindComponent(name)<>nil then
else begin
Application.CreateForm(form_class,form_name);
[red] ////form_name.form_show(1) ///这功能不知怎么实现[/red]
form_name.Show;
result:=true;
end;
except
MessageDlg('初始化失败.',mterror,[mbok],0);
result:=false;
end;
end;
上面的函数会对子窗体进行初始化的动作.
3>在菜单click事件写如下代码:
form_create(Tform1,form1,'form1'):
执行上面代码仅仅只能初始化,不能调用mdi子窗体中自定义的事件.
------------------------问题--------------------------------
我要执行mdi子窗体中自定义的事件该怎么做?
函数传出Form1也不行.