zoukankan      html  css  js  c++  java
  • Delphi中TApplication类的巧用 DELPHI

    Delphi中TApplication类的巧用 - DELPHI
    北京 魏文柏

    ---- Delphi是一种面向对象的编程语言,由于它采用完全集成OOP的优点,因此

    使它成为目前十分流行的Windows开发工具。在Delphi包含的众多类中,TApplic

    ation是一个有着十分重要作用的类。TApplication类是用于描述Delphi编制的应

    用程序的一个类。通过对这个类的灵活应用可以编制许多有特点的程序。下面我

    们就举几个这方面的例子。

    ---- 1 检测当前Windows程序是否被激活:

    ---- Tapplication类有一个属性——Active,这个属性就可以描述当前运行的程

    序是否被激活,成为Windows的焦点。检测的代码如下:

    If Application.Active=False then

    ShowMessage(’当前窗口没有被激活’);

    ---- 2 取得当前程序的名称:

    ---- Tapplication类的EXEName属性可以返回这个可执行程序的完整文件名(包

    含路径)。实现的代码如下所示:

    ---- ShowMessage(Application.ExeName);

    ---- 3 改变程序极小化时的标题

    ---- 如果您细心观察可以发现,一些程序的标题和程序的名称并不一致,尤其是

    一些英文程序,窗体的标题栏比较长,可以容纳比较多的文字,而在最小化时,

    往往变成了很少的几个字母。这中间起作用的就是Tapplication类的Title属性。

    这个属性决定了程序最小化时的标题,而窗口中标题栏的标题是由Form的Captio

    n属性来决定的。其代码如下:

    Form1.Caption:=’ 窗口的标题’;

    Application.Title:=’程序的标题’;

    ---- 其实我们也可以在在程序设计时指定Tapplication类的Title属性值。操作

    的方法是在开发环境中拉下Project菜单,选择Options菜单时弹出如图1 (略)的对

    话框。在这个对话框中的Title栏中填写程序的标题一样也可以达到这种效果。并

    且因为一般的工程文件都是以英文命名的,所以程序运行过程中弹出的消息框中

    的标题是英文。但在指定了这个属性之后,这个程序的所有消息窗口的标题都变

    为Title的值。这就使得程序看起来更加完整。

    ---- 4 指明程序的主窗口

    ---- Windows系统中的界面都是窗口,但一般来讲有一个主窗口。Tapplication

    的MainForm属性就可以返回程序的主窗口。

    ---- 5 显示消息框

    ---- Delphi有许多显示消息框的函数与过程,比较常用的是ShowMessage,它用

    起来虽然十分方便,但是却有一个问题,那就是这个消息框的按钮是以英文显示

    的。如果要生成一个含有中文显示的按钮就要求助于Tapplication的MessageBox

    函数了。这个函数的原形如下:

    ---- function MessageBox(Text, Caption: Char; Flags: Longint): Integer

    ;

    ---- 在这个函数中,前两项分别是显示的提示信息和消息窗口的标题,Flags是

    一个长整值,用来指定按钮的个数及功能。熟悉Delphi的用户可能会注意到,这

    个函数和Delphi 3所提供的同名函数有一点不同,那不是这个版本中字符串参数

    都以字符的形式给出,而不再要求将其转化成指针。我们在使用时要注意加以区

    别。

    ---- Application.MessageBox('需要存盘吗?','提示信息',MB_OKCANCEL); 这

    个语句在运行时显示的样式如图2 (略) 所示。

    ---- 最后就这个函数的返回值作一些说明,实际上这个函数返回的是一个整型的

    数值,而这个数值被系统指定了具体的含义,比如:按下“确定”按钮时返回的

    值是“1”,而其它按钮的值列在表 1 中。

    ---- 表 1 按钮的意义及系统中对其定义的值

    按钮的意义 按下此按钮时函数返回的值

    IDABORT 3

    IDCANCEL 2

    IDIGNORE 5

    IDNO 7

    IDOK 1

    IDRETRY 4

    IDYES 6

    ---- 6 控制窗口的尺寸

    ---- 一般可以用窗口手柄来调整窗口的尺寸,但是也可以用Application的事件

    来调整。实现的方法是用以下两个过程:

    Application.Minimized;

    Application.Restore;

    ---- 前一个过程用来将程序的主窗口最小化,而后一个过程用来将最小化的窗口

    恢复到原来的尺寸。

    ---- 7 链接联机帮助文件

    ---- Application的CurrentHelpFile属性能够指定当前程序所用的联机帮助文件

    的文件名。这个属性经常与另一个方法联合在一起使用。举例如下:

    Application.HelpFile := '联机帮助文件名';

    Application.HelpJump('联机帮助文件的主题’)

    ---- 通过这一命令组合,我们就能使系统弹出一个显示某主题的联机帮助文件。

    ---- 8 在程序运行时动态地创建窗口

    ---- 一般情况下,窗口是在设计时加入到工程项目中的,但是有时也需要我们在

    程序运行时动态地加入窗口,这就要用到Application 的CreateForm过程,举例

    如下:

    Form3:Tform3; //声明窗口类

    Application.CreateForm(TForm3, Form3); //创建窗口

    ---- 9 结束程序

    ---- 虽然我们可以用关闭主窗口的方法来关闭一个程序,但是更好的办法是用A

    pplication的Terminate过程。它能够起到更彻底地关闭程序的效果。

    ---- 10 Destroy 属性.

    ---- 虽然Delphi提供了这一属性,但是并不提倡使用它,如果要终结程序就要调用

    Terminate过程,而Destroy过程一般是用来在程序发生悬挂时来退出程序时才调

    用,有些类似Windows中的结束任务功能。它不仅能关闭程序实例本身,而且还能

    释放程序所占用的资源,能够达到将程序彻底清除出系统的目的。
    本文来自: 书部落-电子书下载(www.shubulo.com) 详细出处参考:http://www.shubulo.com/thread-38013-1-2.html

  • 相关阅读:
    DevOps、CI、CD都是什么鬼?
    卧槽!华为《Linux中文手册》火了,完整版 PDF 开放下载!
    MongoDB 常用运维实践总结
    谈谈变更过程中的运维意识
    Ping原理详解
    为什么Redis要比Memcached更火?
    一篇文章教你搞懂日志采集利器 Filebeat
    工程师姓什么很重要!别再叫我“X工”!!!
    这些 Shell 分析服务器日志命令集锦,收藏好
    Linux下找出吃内存的方法总结
  • 原文地址:https://www.cnblogs.com/martian6125/p/9631341.html
Copyright © 2011-2022 走看看