| Terminated是只读属性。该属性主要用于调用ProcessMessages 方法时应用程序不必在停止后试图处理Windows 消息。当ProcessMessages方法收到消息WM_QUIT时,Terminated将被置为True。
Delphi应用程序总会因为主窗体或应用程序关闭,或者因为Terminate 方法被调用而收到消息WM_QUIT。
当应用程序执行强度较大、占用系统资源较多的运算时,应当周期性地调用Applicati-on.ProcessMessages方法,并检查属性Application.Terminated以确定是否需要终止运算从而终止应用程序。
1.11属性UpdateFormatSettings
属性UpdateFormatSettings指明了当用户改变系统配置时应用程序是否自动更新格式设置。定义如下:
property UpdateFormatSettings: Boolean;
使用UpdateFormatSettings属性应用程序可以控制自动更新格式设置。TApplication的构造器置该属性为True。当应用程序收到消息WM_WININICHANGE时将检查UpdateFormatSett-ings属性。建议使用默认的格式设置,也就是Windows本地的设置。可以置UpdateFormatSe-ttings为False以避免在Delphi应用程序执行期间改变格式设置。
1.12属性UpdateMetricSettings
属性UpdateMetricSettings属性指明是否对提示窗口字体和图标标题等相关设置进行更新。定义如下:
property UpdateMetricSettings: Boolean;
UpdateFormatSettings属性指明系统中提示窗口字体和图标标题等设置改变是否反映到应用程序中相关设置的改变。TApplication的构造器置UpdateMetricSettings的初始值为True。
2、方法
2.1方法BringToFront
方法BringToFront设置应用程序中最近一次的活动窗口到桌面上所有窗口的最前端。其定义如下:
procedure BringToFront;
用BringToFront方法可以找到属于主窗体的最近一次的活动窗口并且将其置于最前端。BringToFront方法也可以测试和查看一个窗口在成为最前端窗口之前是否是可见 (Visible) 和有效的(Enabled) 。 例如,当应用程序收到邮件时,可能需要将专门的处理程序激活并置于Windows 桌面的最前端。这时就可以调用Application.BringToFront方法来实现。
2.2方法CreateForm
方法CreateForm方法用于创建新的窗体(form)。定义如下:
procedure CreateForm(FormClass: TFormClass; var Reference);
Delphi应用程序总会调用CreateForm方法。因此程序员很少有必要直接调用CreateForm方法。一个典型的Delphi工程在工程的主体代码部分包括一处或多处调用CreateForm方法,并且在使用窗体设计器时自动控制窗体的创建。也可以在运行时可以调用CreateForm方法来动态创建窗体。CreateForm方法根据FormClass 参数创建一个新的指定的窗体并且将窗体赋予到变量参数Reference。 新创建的窗体的所有者就是对象Application。 应用程序将第一个调用CreateForm 创建的窗体默认为工程的主窗体。
2.3方法HandleException
方法HandleException为应用程序的异常提供默认的句柄。定义如下:
procedure HandleException(Sender: TObject);
方法HandleException 对于编写特定组件的作者来说是很有用的,因为它可以产生一个不必对Windows 消息产生响应的事件。在应用程序中可以利用OnException 事件句柄将其它的异常操作控制在自定义的代码中。在应用程序代码中,如果异常跳过了所有的try 块,那么应用程序将自动调用HandleE-xception方法,并将显示一个提示有错误发生的对话框。除非异常对象是EAbort,此时Han-dleException将调用OnException句柄(如果存在),否则将调用ShowException显示一个提示有错误发生的对话框。
2.4方法UnhookMainWindow
UnhookMainWindow方法用于释放由HookMainWindow方法挂在主窗体的程序。定义如下:
type TWindowHook = function(var Message: TMessage): Boolean of object;
procedure UnhookMainWindow(Hook: TWindowHook);
用UnhookMainWindow可以释放挂钩窗口。在参数Hook中指明对话框过程。 TwindowHook 类型是调用HookMainWindow方法的参数。该参数是非Delphi对话框中调用对话程序的方法指针。对话程序与窗口程序相似,都是为对话框处理消息,只是语法不同。
3、事件
3.1事件OnActivate
当应用程序成为活动状态时OnActivate事件发生。定义如下:
type TNotifyEvent = procedure (Sender: TObject) of object;
property OnActivate: TNotifyEvent;
用OnActive事件编写一个事件句柄来完成当应用程序成为活动状态时指定特别的处理。当一个Windows 应用程序最初运行时或其焦点从另一个Windows 应用程序转移回到当前应用程序时,该应用程序成为活动状态。
3.2事件OnDeactivate
当应用程序成为非活动状态时OnDeactivate事件发生。定义如下:
type TNotifyEvent = procedure (Sender: TObject) of object;
property OnDeactivate: TNotifyEvent;
在应用程序成为非活动状态之前可以立即触发OnDeactive事件,从而完成在该事件句柄中指定的特别处理。当用户从当前应用程序转换到另一应用程序时,当前应用程序的OnDeactive事件即发生。
3.3事件OnException
当应用程序中的某个无句柄的异常发生时事件OnException发生。定义如下:
type TExceptionEvent = procedure (Sender: TObject; E: Exception) of object;
property OnException: TExceptionEvent;
可以通过OnException 事件来改变在应用程序中无句柄的异常发生时的默认动作。在方法TApplication.HandleException方法中,OnException 事件句柄被自动调用。
OnException 事件仅用于处理在进行消息处理时发生的异常。在Application.Run 执行前或执行后发生的异常不会导致OnException事件发生。
如果某个异常在应用程序代码的try 块中被忽略,那么应用程序将自动调用HandleException方法。除非异常对象是EAbort,此时HandleException 将调用OnException句柄(如果存在), 否则将调用ShowException 显示一个提示有错误发生的对话框。TExceptionEvent类型是OnException事件的类型,该类型在应用程序中指向一个处理异常的方法。参数Sender是引发异常的对象,而参数E 是异常对象。
3.4事件OnHelp
当应用程序收到帮助请求时OnHelp事件发生。定义如下:
type THelpEvent = function (Command: Word; Data: Longint; var CallHelp: Boolean): Boolean of object;
property OnHelp: THelpEvent;
用OnHelp编写一个事件句柄以完成有请求帮助时特别的处理。HelpContext方法和HelpJump方法自动引发OnHelp事件。在事件发生之后置CallHelp为True使VCL调用WinHelp;置CallHelp为False以防止VCL调用WinHelp。 Delphi应用程序中所有与帮助有关的方法都经过OnHelp事件。仅当OnHelp事件中的CallHelp参数返回True或OnHelp事件没有被指定到有效的句柄时,WinHelp被调用。
3.5事件OnHint
当鼠标指针移动经过某个控件或菜单项并且该控件或菜单项能够显示帮助提示时,事件OnHint发生。定义如下:
type TNotifyEvent = procedure (Sender: TObject) of object;
property OnHint: TNotifyEvent;
用OnHint编写的事件句柄能够在OnHint事件发生时执行指定的操作。当用户停放鼠标指针在某个控件上,并且该控件的Hint属性值不是空串(''''''''),这时OnHint事件将发生。通常用OnHint事件显示控件或菜单项Hint属性的值作为某个面板控件(如TStatusBar)的标题,因此把面板(panel) 用作状态栏(status bar)。当OnHint事件发生时,Hint属性通常被指定为一个帮助提示(Help Hint)和一个在别处显示的长提示(longer hint)。
3.6事件OnIdle
当应用程序成为空闲状态时OnIdle事件发生。定义如下:
type TIdleEvent = procedure (Sender: TObject; var Done: Boolean) of object;
上一页 [1] [2] [3] 下一页 |