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

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中的结束任务功能。它不仅能关闭程序实例本身,而且还能释放程序所占用的资源,能够达到将程序彻底清除出系统的目的。

为Delphi提供Pack和Undelete功能 为Delphi中数据库报表加网格 为数据库报表加网格-Delphi资料 为数据库建立索引-Delphi资料 掀开SQL Server 7.0的面纱-Delphi资料 限制数据库记录数-Delphi资料 向数据库发送密码-Delphi资料 一个关于字符串的小问题-Delphi资料 用 QuickReport for Delphi 制作报表 用Delphi 开发数据库程序经验三则 用Delphi 实 现 不 同 数 据 库 系 统 之 间 的 数 据 转 移 用DELPHI本身的控件输出TABLE表数据 用Delphi编程访问SQLServer数据库 用delphi编写医院的复杂报表 用Delphi程序维护Paradox 数据表的索引 用Delphi的InterBase数据库开发C&S应用程序 用Delphi进行数据库之间转换 用Delphi开发“瘦”单机数据库应用系统 用Delphi如何实现VFP中的Cache特性 用Delphi设计数据库应用的几点体会 在我们日常工作中,常会碰到这样一个难题:一大堆-Delphi资料 用DELPHI制作应用软件 用Dephi 程 序 维 护Paradox 数 据 表 的 索 引-Delphi资料 用Dephi程序维护Paradox数据表的索引-Delphi资料 用InstallShield制作数据库应用系统的安装程序-Delphi资料 在BDE中使用ASCII-Delphi资料 在DBMemo中查找文字-Delphi资料 在Delphi 程序中维护DBF 数据库 在Delphi 中 利 用 Tbatch 组 件 完 成 数 据 批 处 理 在Delphi 中使用计算出的字段 在Delphi3 程 序 中自 动 检 测、 建 立 数 据 库 别 名 和 表 格 HELP ME!!!怎样用JAVA作成系统托盘 有没有办法更改ClientDataSet的Delta? 谁能告诉我这样一个问题???pagecontrol的底面颜色怎么改变?????? 请教DWORD的用法 主键。。。。这下傻乐 散分阿 问题没有解决,再给五十分! 当鼠标移至一个VCL上如LABEL的时候其颜色为改变,请问用何事件?初级问题,前十个都有十分 那里有 Install shield?? 怎样让一个程序自己关闭后重启?? 请教大家一个低题的问题? 求救 怎么通过程序设置一个CView视图的滚动条?? 怎样在delphi中用sakemail对要验证的SMTP服务器发邮件? rdoRegisterDataSource建数据连接 的network参数值有那几个? 两个多线程的问题,大家都来看看 在那个网站可以查考研的分 我的程序不能对sql2000进行更新,为什么,我用jbuilder6,请高手赐教!!! 怎样修改SQL Server的时间格式? pb8_DATAWINDOW问题!高手HELP ME!!请帮主来帮忙!! 哪里有《c语言手册》卖或下载? pb8用cell连接sybase12。0时用的连接字符串,当然是没有成功,有解决办法吗,sybase本身带ado驱动,但是不知道如何写。 用sql语句,怎样取最后10条记录。 想在北京找个java方面的工作,好找吗? 请问ISA Server 中如何设定某个局域网IP访问Internet的带宽上限? 请教大家一个低题的问题? 用InterDev创建工程的时候为什么总是提示Unable to contact web server http://localhost? 偶的100分就这样没了????!!!!!!! 调查:一般多长时间将你在 download.com 上的程序升级? 请问谁有解三元一次方程的程序,能给发过来吗? 检查表单这样为什么不行? 如何看别人的源代码??? 各位,那位用过华表插件...求救,怎么嵌入html? VC下基于ATL的数据库编程问题,很容易拿分的。 请问怎样才能向数据库插入当前日期,格式为14位字符串yyyymmddhhnnss 怎样从html页面中向ActivXForm传参数,在ActiveXForm中又如何接收? 如何控制 Text 控件中文本的行间距? 如何看别人的源代码??? 一些代码... 那位知道 Microsoft ODBC for Oracle 的驱动程序在那里能下载 ::)access数据库中字段是日期和时间型,用DAO编程应该用什么类型的数据才能填充数据库中的字段。 为什么?(大虾、菜鸟...统统欢迎) 在C/C++ 程序中怎样延时? 关于vb程序关闭的问题 如何得到一个文件夹的所有子文件夹和文件? ISA Server LOG中发现异常记录!是不是有黑客? 今年软件水平考试什么时候开始报名啊? 高分求购StyleReport EELite的license 很急,请各位帮忙解决notessql问题 如何得到一个文件夹的所有子文件夹和文件? 求兼职java工作 除去铁粉中混有少量铝粉.加过量的NaOH后过滤那么这样子不是生成FeOH了吗?为什么这个对了?不是把铁粉消耗了吗?然后过滤后有FeOH NaCO3+SiO2=NasiO3+CO2 NaSiO3+CO2+H2O=SiO2+NaCO3这两个方程是否矛盾,如果矛盾,为什么 AL2O3溶于NAOH溶液中,离子方程式 大河野钓鲫鱼如何打窝 NaSiO3+CO2+H2O=NaCO3+H2SOi3的离子方程式! 氧化铝晶须溶于碱溶液吗? 用酒米打窝钓鲫鱼好用吗?只能钓鲫鱼吗? NaCO3和H2O不反应原因为什么不反应是没生成气体沉淀或水吗Na2CO3+h2o=na2o+h2o+co2吗 去除铁粉中的铝粉应该用哪个? 三乙醇胺、乙二醇、丙二醇、丙三醇、聚丙烯酸酯、聚羧酸盐这些高分子化合物有毒吗 为什么Naclo和CO2+H2O有量的关系,但Naco3就没有? 如何去除切削液(乳化液)中的杂质,主要成分是铁粉、铝粉、机油等, 如何用酒泡小米打窝钓鲫鱼 从海带中提取碘的实验中为什么要+硫酸?如上,谢谢. 怎么除铁粉中的铝粉 下列关于乙二醇和丙三醇的说法中,错误的是 [ ] A.甘油、乙二醇的水溶液的凝固点很低,乙下列关于乙二醇和丙三醇的说法中,错误的是[ ]A.甘油、乙二醇的水溶液的凝固点很低,乙二醇可作 从海带中提取碘的实验中,为什么要加硫酸1、为什么别的酸不可以(举2例说明)2、硫酸的作用 我看了两种答案 一种是氧化碘离子的时候需要氢离子 按方程式的确是这样 另一种是中和 如何去除铁粉中含有杂质铝 野钓鲫鱼咋打窝用啥料 偏硅酸钠用途如何防止偏硅酸钠在高温下溶解 2mol的铜和足量的硫反应电子转移多少mol? 三乙醇胺与乙二醇混溶么 偏硅酸钠的用途偏硅酸钠用做净水处理的助凝剂的原理 水银中毒有什么现象? 野钓鲫鱼用什么打窝 偏硅酸钠是什么啊? 磷+氧气点燃→五氧化二磷是氧化反应么? .要除去下列物质中所混有的少量杂质,应加入什么试剂 写出有关反应的化学方程式.(1)铁粉中混有少量铝粉.(2(1)铁粉中混有少量铝粉.(2)FeC12溶液中混有少量FeCl3.(3)Na2CO3中含有少量NaHCO3.(4)乙烷 水玻璃在空气中久置后会变浑浊,往浑浊溶液里加入稀盐酸,回产生白色沉淀,同时伴有气泡产生1 溶液变浑浊 :2 产生白色沉淀:3 产生气泡:水玻璃是硅酸钠的水溶液的俗称 " 不锈钢"为何不易生锈? 铁粉中混有铝粉,除杂试剂是?;离子反应方程式? 露置在空气中一段时间后的水玻璃会变浑浊,向此浑浊溶液中加入稀HCL会产生的白色沉淀,同时伴随有气泡...露置在空气中一段时间后的水玻璃会变浑浊,向此浑浊溶液中加入稀HCL会产生的白色 H2O+CaO=Ca(OH)2为什么没有沉淀符号 八年级上电解水实验的实验现象 CaSiO3能溶于水吗? H2S+H2SO4+S+SO2+2H2O中,若有32g硫生成则转移电子为 偏硅酸钠水溶液和铝反应么? Na2SiO3怎样变为CaSiO3 吐温80+三乙醇胺+硬脂酸+棕榈油加温不容,有详细的更好邮箱327371501腾讯的 答案准确200分 请问铝粉中混入铁粉,想用磁设备将铝粉铁粉分开收集,怎么设计?这个是用皮带传送方式,可是铁粉是怎么落入盒子中的呢?不是沾到了磁铁轮上不动了吗? 怎样能使二氧化硅和氢氧化钠溶液更快反应,浓度、温度用多少合适?生成的硅酸钠能溶于氢氧化钠溶液吗? CaSiO3的硬度大吗 将铝粉中混有的铁粉分离出来应怎么办 从海带中提取碘除了用氯水作氧化剂外还可以用什么? 铜加硝酸盐的反应 如何用二氧化硅制硅酸钠 从海带中提取碘的实验中,为什么要加二氧化锰和稀硫酸?如题 请告诉我它们的作用 如果有反正发生请附上化学方程式 硝酸盐的特征反应是什么 二氧化硅与烧碱反应生成的硅酸钠是晶体吗?不知道硅酸钠在离子反应式可不可以拆开来写,要不要打沉淀符号.. wg铁粉和铝粉的混合物,溶于足量盐酸后,加过量的 NaOH溶液,过滤,将沉淀完全收集后,充分加热,直至质量不再变化,称量仍为wg原混合物中铝粉的质量分数是( )A.30% B.50% C.70% D.90% 32g铜与150mL一定浓度的硝酸盐恰好完全反应.产生的NO2和NO混合气体在标准情况下体积11.2L铜和稀硝酸的反应方程式 硅酸钠如何生成二氧化硅? 硅酸钠与氯化镁反应是双水解还是生成硅酸镁 写离子方程式时,硅酸钠要拆吗?氧化铝和氯化铝要怎么写? 为什么可以用氢氧化钠溶液来除去铁粉中的铝粉(求帮助,) 在电解水的实验中,可以直接观察到现象是 铜和亚硝酸盐回反应吗? 判断正误:A.除去铁粉中混有的少量铝粉,可加入过量的氢氧化钠溶液,完全反应后过滤.B.为测定熔融氢氧化钠的导电性,可在瓷坩埚中熔化氢氧化钠固体后进行测定.(请给出解释,) 电解水实验 氧化铝能溶于硫酸铝溶液或硫酸镁溶液吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘