【发布时间】:2011-08-02 11:54:56
【问题描述】:
大家好,
我想在应用程序运行时在主窗体上方显示该选项窗体。那么如何在开始时在后台显示带有主表单的选项表单?
感谢您的帮助。
【问题讨论】:
-
它应该在后台显示主窗体的弹出窗体。
-
我尝试在主表单的 OnCreate 或 Onshow 事件上创建选项表单,但它只显示选项表单。 :(
标签: delphi
大家好,
我想在应用程序运行时在主窗体上方显示该选项窗体。那么如何在开始时在后台显示带有主表单的选项表单?
感谢您的帮助。
【问题讨论】:
标签: delphi
可以使用OnActivate。必须将它包装在一些代码中以防止它在其他应用程序表单关闭并且主应用程序再次被激活时触发。
procedure TForm1.FormActivate(Sender: TObject);
Const
{$J+}
SettingsShown : Boolean = false;
{$J-}
begin
if SettingsShown = false then
begin
Form2.ShowModal;
SettingsShown := True;
end;
end;
【讨论】:
不要在OnCreate 或OnShow 中使用OptionForm.ShowModal,而是创建一个自定义消息,例如Const AM_ShowOptionForm = WM_APP +1,然后将消息发布回您的主窗体。
在主窗体上添加消息处理程序,例如
Procedure RecieveOptionFormMessage(var Msg:TMessage); Message AM_ShowOptionForm
begin
OptionForm.ShowModal;
end;
【讨论】: