Delphi中TApplication类的巧用

本文详细介绍了Delphi编程中应用类的应用,包括检测程序激活状态、获取程序名称、修改程序极小化标题、指定程序主窗口、显示消息框、控制窗口尺寸、链接联机帮助文件、动态创建窗口、结束程序的方法等核心技巧。

======================================================
注:本文源代码点此下载
======================================================

tapplication类是用于描述delphi编制的应用程序的一个类。通过对这个类的灵活应用可以编制许多有特点的程序。下面我 们就举几个这方面的例子。

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

---- tapplication类有一个属性——active,这个属性就可以描述当前运行的程序是否被激活,成为windows的焦点。检测的代码如下:

ifapplication.active=false then showmessage(’当前窗口没有被激活’);

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

---- tapplication类的exename属性可以返回这个可执行程序的完整文件名(包含路径)。实现的代码如下所示:

---- showmessage(application.exename);

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

---- 如果您细心观察可以发现,一些程序的标题和程序的名称并不一致,尤其是一些英文程序,窗体的标题栏比较长,可以容纳比较多的文字,而在最小化时, 往往变成了很少的几个字母。这中间起作用的就是tapplication类的title属性。这个属性决定了程序最小化时的标题,而窗口中标题栏的标题是由form的caption属性来决定的。其代码如下:

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

idcancel2

idignore5

idno7

idok1

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 结束程序

---- 虽然我们可以用关闭主窗口的方法来关闭一个程序,但是更好的办法是用application的terminate过程。它能够起到更彻底地关闭程序的效果。

---- 10 destroy 属性.

---- 虽然delphi提供了这一属性,但是并不提倡使用它,如果要终结程序就要调用terminate过程,而destroy过程一般是用来在程序发生悬挂时来退出程序时才调用,有些类似windows中的结束任务功能。它不仅能关闭程序实例本身,而且还能释放程序所占用的资源,能够达到将程序彻底清除出系统的目的。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值