Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:13:50
Delphi项目的框架类-TForm 类实例-详解

Delphi项目的框架类:TForm 类实例|详解|技巧

Delphi项目的框架类

大多数Delphi 7 的应用程序至少有一个TForm 的实例。Delphi 7 VCL 应用程序也只能有一个TApplication 的实例和一个TScreen 的实例。TForm、TApplication、TScreen 3 个类在Delphi 7 中起着举足轻重的作用。掌握了这些知识后就可以根据需要修改它们的默认功能。

TForm 类

TForm 类(即窗体类)是Delphi 7 应用程序的焦点。大多数情况下,整个应用程序都是围绕窗体操作的。从主窗体中可以打开其他窗体,通常要通过菜单命令或按钮。可以自动创建窗体,也可以选择在运行期间动态创建窗体。

注意:Delphi 可以创建不使用窗体的程序(例如控制台程序、服务和COM 服务器),在这种情况下,TForm 就不再是应用程序的焦点。

显示给用户的窗体有两种:有模式的和无模式的。具体使用哪一种窗体,取决于用户是否希望能够同时用这个窗体和其他窗体交互。

1.显示一个模式窗体

当打开一个模式窗体后,用户无法与应用程序的其他部分交互,直到用户关闭了这个窗体。模式窗体通常是对话框,就像Delphi 7 本身自带的对话框一样。事实上,大多数情况下应当使用模式窗体。

要显示一个模式窗体,只要调用ShowModal 就可以了。下面的代码演示了如何创建TModalForm,并把它作为模式窗体打开。

var

ModalForm:TModalForm;

begin

//创建TModalForm 的实例

ModalForm:=TModalForm.Create(Application);

try

if ModalForm.ShowModal=mrOk then //显示这个窗体

{执行一些代码}

finally

ModalForm.Free;

ModalForm:=nil;

end;

end;

上面的代码演示了如何动态地创建TModalForm 以及把实例赋值给ModalForm 变量。

注意:如果需要动态创建一个窗体的实例,就要把这个窗体从“Project Options”对话框中的“Auto-Create forms”框中去掉。

如果窗体的实例已经存在,可以调用ShowModal 函数打开它,其他代码可以删掉,缩减代码如下:

begin

if ModalForm.ShowModal = mrOk then //如果ModalForm 已经存在

{执行一些代码}

end;

ShowModal 函数的返回值是ModalForm 的ModalResult 属性值。默认情况下,ModalResult 属性的值为0,相当于预定义的常量mrNone。如果ModalResult 属性被赋值为其他非零值,则窗体将关闭。

可以在运行时对窗体的ModalResult 属性进行赋值,代码如下:

begin

ModalForm.ModalResult := 100;

end;

表3-1 所示为预定义的ModalResult 值。

常量 值

mrNone 0

mrOk idOk

mrCancel idCancel

mrAbort idAbort

mrRetry idRetry

mrIgnore idIgnore

mrYes idYes

mrNo idNo

mrAll mrNo+1


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759