说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi中TApplication类

HTML文档下载 WORD文档下载 PDF文档下载
Delphi中TApplication类

Delphi是一种面向对象的编程语言,由于它采用完全集成OOP的优点,因此使它成为目前十分流行的Windows开发工具。在Delphi包含的众多类中,TApplication是一个有着十分重要作用的类。TApplication类是用于描述Delphi编制的应用程序的一个类。通过对这个类的灵活应用可以编制许多有特点的程序。下面我们就举几个这方面的例子。

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

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

If Application.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

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

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

10 Destroy 属性.

虽然Delphi提供了这一属性

但是并不提倡使用它

如果要终结程序就要调用Terminate过程,而Destroy过程一般是用来在程序发生悬挂时来退出程序时才调用,有些类似Windows中的结束任务功能。它不仅能关闭程序实例本身,而且还能释放程序所占用的资源,能够达到将程序彻底清除出系统的目的。

直接呼叫RUNDLL来关机-VB资料 VB制作VB安装程序问答(二) VB制作VB安装程序问答(一) VB制作帮助文件速成 重新验证 Win 95 用户口令 -VB资料 桌面的大小 -VB资料 字体改变事件 -VB资料 自定义组合热键 -VB资料 自动更换墙纸的小软件-VB资料 自动记录应用软件工作时间 -VB资料 自动卷动TextBox -VB资料 自动开始上次关机时关闭的应用 -VB资料 自动装入注册设置 -VB资料 自己编程模拟 MouseEnter,MouseExit 事件 -VB资料 走进VB6啃一块骨头 做成一个时间限制的测试版 -VB资料 PHP中利用jQuery实现SWF图像上传和裁剪 VB.NET或C#将DataSet快速导出到Excel中 HashSet的equals和hashCode重写问题 PendingIntent实现原理和代码 IntentService实现原理及内部代码 AsyncTask实现原理和内部代码 Neither user nor current process错误 ListView的右边滚动滑块启用方法 Live Wallpaper动态壁纸开发 控制软键盘显示和隐藏 设置Activity大小不再全屏原理 Android面试题,看看你基础如何? Android Canvas绘图抗锯齿解决方法 Android xliff和字符串资源 android.hardware.USB类介绍 为什么我的USB接口键盘在用软盘启动后的DOS状态下不响应? JSP,薪水有多少? delphi中怎样调用package? ado 的问题 图片从数据能显示,图片名称不能显示? 请问unix下有没有类似于windows下的DLL的二进制代码存储文件机制?(当然不是javaBean) 关于语音控件CTTS1.0? 请教各位:问如何对变量zz='02'转换成16进制? flash 5。0哪里有下载 在vc中调用用vb写的com出错,为什么? 关于多态性的理解,对吗? 如何知道1个类是不是存在? ??请教:我的程序 help!help! 如何对程序执行动作放缓慢! 很小很小的问题!! 棘手问题??急急!!! 各位懂软件测试的朋友,请介绍一些资料给我,非常感谢! 菜鸟问个调试问题,别见笑! 请介绍一下学数据库应学什么开发工具更好些,除了sql语言? 请教一个关于TextArea区域中数据显示的问题 高分求以二进制方式打开文件 哪里能找到dialogic卡的VN协议? 求解:BC++3.1 or high编程在DOS下连接interbase server 高手快进!!!一个DataReport报表的异步操作问题( MYSQL的帮助文档哪里有下载?谢谢 求,谁有zip unzip的源代码 菜鸟的问题,送分来了! 有谁知道什么是SDD吗?请指教!!!!别吝惜呀!!^o^ 简单的右键弹出菜单问题…… 我想编一个pop3服务器,适用于windows iis,给点提示吧 编译SERVLET时老出现"...包 javax.servlet 不存在..." ? 请教关于 98中 Personal web Server的问题 辽宁4:0狂胜广东,爽丫!SB广东解说员居然说中国足球没戏了~~~~~~~~~~ 用APPLET做一个上传的东西可以吗???? "我的问题"栏中,只剩下未解决的了,已给分的为何都不见了? 在CSDN和大富翁都没人会答的简单OLE问题,唉! 我是shijie819有问题?? 各位高人,看看代码,不能输入汉字只能输入英文,问题在那里? 如何将编好的n个模块连接到一个工程 请教!关于listbox的列属性? Applet为什么能在JBuiler5中调试,而不能在浏览器中显示 SOS!谁有语音卡编程的经验和资料,恳请指教!给分的! 谁有用VC++中ODBC API 编写数据库的例子? sql server 有沒有邏輯型字段!!! 电娃娃领分!!!!---goldsun发 猛禽进来拿分. 谁有画线的函数源码,参数为两点坐标? 如何将xml中的数据转换成动态的数据图形显示啊 有谁可以讲讲有关KV3000的A盘..... 没有问题 话题作文之把心放宽800字 关于探索月球奥秘的作文月球又称“月亮”.在望远镜发明之前,古代的人们只能在晴朗的夜晚,用眼睛仰望皎洁的明月.看到月亮表面有明有暗,形状奇特,于是人们就编出如嫦娥奔月、吴刚伐桂 作文:月球探秘要求:600字,要有说明,记叙,初一的.主题是尝试破解自然奥秘. 有木有红色书籍读后感300字的? 求一本爱国的书的读后感,200字够字的, 探索月球奥秘 作文 作文我原来没懂600百字 赞美母亲的作文350字henji 探索月球奥秘 作文500多字探索月球奥秘 谢 谢 以快乐的一天为主题,写一篇英语文章写一篇主题为快乐的一天,50词以上 妈妈对我的关爱 作文!350字以上 300字作文 探索月球奥秘 关于《快乐的一天》的英文短文 感谢你,妈妈的作文怎么写要作文! 庆国庆作文1200字我都快愁死了~1 一篇(现在进行时)英文作文(写下课) 读爱国书籍有感1000字随便什么爱国书籍都可以```1000字哦`` 求 庆国庆 作文 1000字左右 关于春节期间快乐的一天的英语小短文(跪求)关于春节期间快乐的一天的英语小短文.大家有什么就发上来啊!拜托了! 关于外国作家的作文素材.如巴尔扎克,勃朗特,奥斯汀等等…人文性的作文素材,不是单纯的介绍…是工整生动的语段,可以包含作品,思想…使得多个事例可以整合为排比的语段… 庆国庆、颂祖国的作文有吗 革命书籍读后感什么书都可以,一定要是革命书籍啊! 高中作文素材作文题目是 《绝处求生》,高中议论文,有什么好的素材吗,比如一个人陷入了一个绝境,但是他通过自己的顽强的拼搏,斗争,化险为夷,最后取得成功或得到新生的那种,如果这样范 作文《过年》1000字 红色革命书籍读后感关于红色革命的书籍作者及内容及读后感,内容简略一点读后感多一点,急 急 中学作文素材求助1、记住这一天2、我眼中的色彩3、在学海中游泳4、黑板上的记忆5、悄悄地提醒6、心里美滋滋的 请提供以上六篇作文题目的素材,每篇写50-100个字左右提纲.先给100分,提纲每 600字作文:《秘密》1、字词搭桥写童话《秘密》2、提供三个词语:小兔———泪水———彩虹3、想象丰富合理,内容具体,情感真,语句通顺,有一定的条理,字数600字左右. 求1篇1000字关于难受的话题作文 奇思妙想作文100字 600字作文 我心里的小秘密 爱国书籍读后感500字,急!1 奇思妙想的作文200字的 500字关于书的作文 麻烦帮我找一本爱国书籍的读后感,400-500字左右就行了,快《红岩》不要! 奇思妙想作文(400字) 关于书的事 作文 500字不要抄袭! 有关爱国的书.顺便也写一下读后感500字. 奇思妙想 作文 600字左右体裁为寓言、童话、记事为主 关于 “书” 的 优秀作文500字、 这是幸福的作文怎么写?急啊啊啊啊啊啊啊啊~~~~~~~! 爱国的读后感200字 关于 “书” 的 写事 作文500字题目有点难……又是关于书的,又是写事的。 给写冬天的作文取一个什么样的名字 以和谐话题的作文怎么写 作文以成长·快乐·和谐为主题 一本爱国书籍 读后感 快400字左右 以和谐为话题的作文 安全,和谐为主题的作文要1千字以上 假如这个星期天你想和家人去公园,请用英语写一篇文章说明你的打算及原因. 以 和谐 为话题的作文不要太长 800字左右就OK1 以“科学发展 和谐发展”为主题的作文 周末你和家人干什么 英语 小短文(用上Be going to) 以和谐与发展为话题的作文话题作文行就可,适合现如今的国情,不要老掉牙的!创新作文 求一篇 “曹操,我想对你说”的作文600字左右 给文章取好听的名字 以“和谐”为话题写的作文要好的 以《我眼中的诸葛亮(曹操)》为题,做一篇2000字的文章 心灵的屋檐600字 帮忙写篇初一作文(探索月球奥秘) 认识曹操 作文800字最好是初一水平啦,快啊,要交了,
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn