转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
Delphi中关于TApplication类的详解         ★★★★

Delphi中关于TApplication类的详解

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2409 更新时间:2009/4/23 18:39:04
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]  下一页


[VB.NET程序]VB.NET中关于DataGrid颜色的自定义。  [Delphi程序]Delphi中TApplication类的巧用
[Delphi程序]TApplication 中CreateForm的用法  [ORACLE]oracle中关于null排序的问题
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台