如何设计对话框窗口
我想设计一个对话框窗口,该窗口活动时无法激活其它窗口,除非先关闭这个窗口。对于一个已经设计好的Form窗口(从TForm派生)如何实现这种功能?其它开发平台可以指定一窗口为模式窗口或非模式窗口来解决这个问题,但Delphi的Form窗口好象没有找到相应的属性。
问题解决了,方法如下:
在自己设计的Form的OnCreate事件中修改一下Form的属性:
procedure TForm2.FormCreate(Sender: TObject);
begin
self.Visible:=false;
self.Enabled:=true;
self.FFormState:=self.FFormState-[fsModal];
self.FormStyle:=fsNormal; //不是fsMDIChild都可以
end;
模式对话框的创建代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
f : TForm2;
begin
f:=TForm2.Create(Application);
try
if f.ShowModal=mrOk then //显示这个窗体
{执行一些代码}
finally
f.Free;
end;
end;