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

Delphi 5快速创建控制面板程序

HTML文档下载 WORD文档下载 PDF文档下载
Delphi 5快速创建控制面板程序

---- Borland Delphi是深受广大软件开发人员喜爱的一种高效、快速的RAD(Rapid Application Development)开发工具。在1999年秋季发布的Delphi 5中,Delphi又引入了许多新的特色。其中之一便是Delphi 5的Enterprise和Professional版本中新增了用于快速创建控制面板(CPL)程序的向导和类,这使得我们能够在可视化开发环境中非常方便地建立控制面板应用程序。

---- 一、关于控制面板程序

---- 在Windows中,用户通过控制面板来进行增删程序、添加硬件、设置各种系统属性等操作。控制面板中所显示的小程序(或称之为对话框)是由控制面板程序(Control Panel Application)提供的。Windows本身附带了十来个控制面板应用程序,它们都位于Windows的System目录下,扩展名为*.CPL。每个控制面板中的应用程序可以有一个或多个对话框,每个对话框在控制面板中用一个图标代表。

---- 控制面板应用程序实质上是一类特殊的动态链接库,每个控制面板程序必须输出一个CPlApplet函数,它是控制面板应用程序的入口,其主要作用是处理Windows消息。CPlApplet函数的原型为:

function CPlApplet(

hwndCPl: THandle; //Identifies the main

window of the controlling application.

uMsg: DWORD; // Specifies the message

being sent to the Control Panel application

lParam1

lParam2: Longint // Specify

additional message-specific information

): Longint; stdcall;

---- CplApplet函数是控制面板与控制面板应用程序通讯的唯一方式。一个控制面板程序中的CplApplet函数的基本框架结构如下:

function CPlApplet(hwndCPl: THandle; uMsg: DWORD;

lParam1

lParam2: Longint): Longint;

begin

//…

case (uMsg) of

CPL_INIT: begin {…} end;

CPL_GETCOUNT: begin {…} end;

CPL_INQUIRE: begin {…} end;

CPL_NEWINQUIRE: begin {…} end;

CPL_DBLCLK: begin {…} end;

CPL_STOP: begin {…} end;

CPL_EXIT: begin {…} end;

CPL_STARTWPARMS: begin {…} end;

CPL_SETUP: begin {…} end;

end;

//函数的返回值取决于uMsg

end;

---- 事实上,编写控制面板程序的主要任务都放在处理这些CPL_消息上,关于这些消息的含义,请参看Delphi 5所带的帮助文档Win32.hlp。

---- 为了简化控制面板程序的创建,Delphi 5新增了一个可视化构件库CtlPanel.PAS。CtlPanel单元中定义了TAppletApplication(控制面板应用程序类)和TAppletModule类.

---- 使用TAppletApplication和TAppletModule类构造控制面板应用程序是一件非常轻松的事情。下面我来介绍一下在Delphi 5中创建控制面板程序的基本步骤。

---- 二、Delphi 5中建立控制面板程序

---- 第一步:选择File | New菜单,在New Items对话框的New页上选择Control Panel Application,Delphi将创建一个新的控制面板应用程序(其中已经包含一个applet)。Delphi向导创建的工程文件如下:

library Project1;

uses

CtlPanel

Unit1 in 'Unit1.pas'

{AppletModule1: TAppletModule};

exports CPlApplet;

{$R *.RES}

{$E cpl}

begin

Application.Initialize;

Application.CreateForm

(TAppletModule1

AppletModule1);

Application.Run;

end.

---- 在上面的DPR文件中,Application对象的类型是TAppletApplication,而不是TApplication,它是在CtlPanel单元中申明的。而且CplApplet函数也已经由CtlPanel单元定义好了。

---- 第二步:更改AppletModule的属性

---- 一个AppletModule对象代表一个对话框(即applet),一个CPL应用程序可以包含多个对话框。你可以通过Delphi向导来增添多个AppletModule。

---- AppletIcon属性:指定一个图标,此图标将出现在控制面板中。

---- Caption属性:显示在图标下面的文字。

---- Help属性:出现在控制面板窗口的状态栏上的文字。

---- ResidIcon属性:图标资源id,此属性与AppletIcon属性互斥。

---- ResidName属性:字符串资源id,此属性与Caption属性互斥。

---- ResidInfo属性:字符串资源id,此属性与Help属性互斥。

---- 第三步:编写事件句柄

---- 在控制面板中,当鼠标双击对话框的图标时,相应的AppletModule对象会产生OnActivate事件。为了响应鼠标的双击,你需要为TAppletModule的OnActivate事件属性提供一个事件句柄。

procedure TAppletModule1.

AppletModuleActivate(Sender:

TObject; Data: Integer);

begin

MessageBox(Application.ControlPanelHandle

'Delphi 5 is so great!'

'CPL Demo'

MB_ICONINFORMATION);

end;

---- 第四步:CPL的安装

---- 由于动态连接库工程文件中有一个{$E cpl}编译指示字,编译此DPR文件将产生一个扩展名为.CPL的文件,它就是我们所要的控制面板应用程序模块。控制面板程序的安装十分简单,只要将CPL文件拷贝到Windows的System目录(或者Windows NT的System32目录)下即可。当你再次打开控制面板时,你所编写的控制面板应用程序就会出现。

利用VB实现浮动按钮 VB利用子类处理技术限制窗体的大小 奇形怪状的窗体 -VB资料 强制ComboBox弹出下拉框 -VB资料 强制和防止窗口重画 -VB资料 巧用“关于”对话框-VB资料 请问在VB中如何关闭别的应用程序窗口 确定屏幕分辨率-VB资料 让VB5支持动画光标 让窗口拒绝接受键盘和鼠标事件 -VB资料 让窗体处于最前面 -VB资料 让窗体居中 -VB资料 让所有的控件都动起来 -VB资料 让最大化和最小化按钮消失-VB资料 任意多边形的窗口-VB资料 如 何将「拒 绝 被 盖 住 的 窗 口 」还 原-VB资料 VB如何创建椭圆形的窗体? VB如何创建无Icon的窗体? VB如何防止Edit框中的Password不被非法获取 VB如何将鼠标显示成动画鼠标? VB如何利用程序拉下 ComboBox? VB如何让窗体右上角的X失效? VB如何使Form的背景图随Form大小改变 VB如何使Text文本框的属性只读? VB如何使窗体右上角的"X"无效? VB如何使窗体最小化并消失 VB如何在VB和Delphi中快速实现立体化窗口显示 VB如何在VB中实现绘图区的大十字光标 VB如何在VB中制作不回显的文本框 VB如何制作浮动式窗口 闪烁的Label-VB资料 谁能介绍几本国外专家编写SQL Server的进阶教程(最好有电子版) 我也不得不说了,为了我的朋友,为了随风,也为了我自己。。。。。。。。。。。。(贴子长,上班的时候还是别看了好:) 请推荐几本用vc开发服务程序的书籍 请问如何在TC30中使用并连接第三方LIB??? 曾经有一个中毒的人…… to: nononono(null,null),再来! 导入的数据,字符型输出为乱码在oracle8.05中,如何解决?谢谢! 做设计文档时,是先进行详细设计还是数据库设计? csdn我爱你........ oracle8.05中如何察看记录?谢谢! 哪位兄弟见过可以收发邮件(SMTP)的源码,做成动态连接库的那种。别的程序可以调用 关于tedit控件(很弱智的问题,但是小妹妹我就是不会做) 请问一个简单的条件是用Ttable的filter还是Tquery? 选DCOM还是CORBA? 倒库出现的问题 寻求怎样写SQL语句的教程 JNI的问题: dll文件放在哪里能被servlet调用到? 好不容易收到第一份海外定单! 问ListCtrl的item上的右键菜单 怎样求出一个点的坐标??????急急!!!! 请大家看一看这个分页程序,为什么在页数大于20时,按下一页时下面的页数还是显示的1~10页!!谢谢!! 我的linux在放mp3時總愛死,為甚麼? 唉,弄了好几天了,如何解决?????????????? 请问哪里有免费的PHP+MYSQL主页空间呀! 大家快来帮忙:数据库的一个小问题 我现在想学一门新技术,不知道是学VC++,JAVA,还是刚刚出来的。NET技术呢?请高手指点呀。 高分征解:一个动态提示窗口的问题,给出答案必定给分!!!求救我啊!! 在这里赚分真不容易呀! 怎样检查FORM中CHECKBOX和RADIO的值呢 那里有在asp中操作word对象的详细教程? 请问:如何得到TForm的窗口句柄? authorware中的按钮。 哪里有发送mail成功的php程序!! 关于上传数据的一个特殊问题,有点难 怎么用OLE实现与手机的通讯?? 汉语分词算法 grid显示问题 成为Delphi高手须看哪方面的书籍,请高高手指教? 关于属性页的小问题? 为水园增加点正气: 大家都是斯文人吗,呵呵||||| 诗经国风2001版----之桃夭 高手高手教教我 +++++++++++++一个很奇怪的问题************* 请问:有没有专门介绍C++函数使用的书籍? 提個有點難度的問題.看問題的有獎. 高手请看:这语句错在哪? 哪儿有dos的原代码? 谁能平息这几天水园的争端^^^^^^^^^^一个详和的水园^^^^^^^^^^^我只能拿分支持 为何显示黑乎乎的一片,chick!!!!!!! 原来女人也好色,欢迎MM。 心芯蕊~来拿分~~~~MM要分能不给吗??砸锅卖铁也要给啊!~~~~55555,可怜我的分啊~~~~~~~~~~~ 着急??一小段代码!!谁来看一下?? 过氧化钠能否在常温下与二氧化碳反应生成氧气?过氧化钠是一种淡黄色固体,它能否在常温下与二氧化碳反应生成氧气?在什么地方可以买到过氧化钠? 1.5摩尔铁完全燃烧生成四氧化三铁多少克 要列式子 给9.8克氯酸钾加热,完全分解能产生多少摩尔氧气 过氧化钠与CO2反应产生氧气之后变成的Na2CO3物理性质怎么样? 现用氯化钾和二氧化锰混合加热制取氧气.反应前混合物的质量是25克,加热到再放出气体时现用氯化钾和二氧化锰混合加热制取氧气.反应前混合物的质量是25克,加热到不再放出气体时,得到剩 实验室需要22.4L氧气做实验,需要多少克过氧化氢完全反应?(氧气密度为1.48g/L,保留到整数) 在常温下过氧化钠与二氧化碳反应生成碳酸钠和氧气.此反应中氧元素有几种化合价?分别是什么? 实验室加热氯化钾和二氧化锰的混合物之取样器.若收集到的标准状态下3.36L氧气至少需要多少克氯化钾?同时生成氯化钾的物质的量为多少? 2.4g的镁完全燃烧需要多少升氧?氧气密度1.4g/L 过氧化钠与二氧化碳反应生成的氧气中氧元素是从哪一种物质获得的? 实验室加热氯酸钾和二氧化锰的混合物制取氧气,若收集到标准状况下22.4升氧气,至少需要氯酸钾多少克,同时生成氯酸钾的物质的量为多少同时生成氯化钾的物质的量为 实验室现需1.12L纯净的氧气(标准状况下,氧气密度是1.43g/L),某同学加热氯酸钾和二氧化锰混合物制氧气,并回收二氧化锰和氯酸钾,下表为实验的有关数据:实验收集所需1.12L氧气后试管内固 物质与氧发生的反应叫氧化反应 这里的氧是指氧元素么?还是只是指氧气?辅导书的概念就是这么讲的……(BD百科上也有这句话...)仅仅现定于初三化学... 实验室用氯酸钾制取氧气,加入二氧化碳是为了什么? 完全分解5%的过氧化氢溶液680g,可制得氧气多少克?合多少升?(标准情况下氧气的密度为1.43g/L) 氧化反应是指一种物质与氧气反应还是反应物中有氧气就是?氧化反应是物质与氧反应 氧是有氧元素,还是氧气? 实验室用加热24.5克氯酸钾完全反应后可生成多少克氧气? 实验室需制取3瓶氧气,每瓶氧气的体积为250ml,需用多少克过氧化氢氧气密度为1.429g/L 氧气在氧化反应中提供氧,具有氧化性,是一种常见的什么剂?在学初三的空气那一张,课题2 氧气的知识要点三:(氧化反应)中提到RT,请问这是一种常见的_____剂? 实验室用氯酸钾制氧气,现需16克氧气,求需分解多少克氯酸钾,同时生成多少克氯酸钾? 实验室用34g双氧水最多可制得氧气多少克?在标准状况下,其所占体积又是多少升?(密度 )氧气的密度为 1.429g/L 氧气在氧化反应中具有氧化性的原因是 实验室要用氯酸钾和二氧化锰加热制氧气,要制取96g氧气需要多少克氯酸钾分解才能制得? KClO3与MnO2制取氧气化学方程式 有什么氧化反应不是物质与氧气发生反应的,什么气体也像氧气一样具有氧化性吗? 实验室用氯酸钾制氧气还有FeO和Fe2O3有什么区别 实验用KClO3和MnO2制O2,现需9.6克O2,则需要多少KClO3分解 氧气是一种化学性质比较活泼的气体,它在氧化反应中提供氧,具有氧化性.下列说法中正确的是A.酿造酒和醋时都发生了剧烈的氧化反应B.白磷自燃既含缓慢氧化C.蜡烛燃烧发生了化合反应D.将 将0.04摩尔氯酸钾与二氧化锰共热,完全分解时可生成氧气___________摩尔,相当于生成氧气___________克. MnO2和HCl反应制Cl2的化学反应方程式怎么写? 请问:氧气是不是能与所有物质发生反应? 煤气罐在多高的温度下会爆炸 用30克氯酸钾和5克二氧化锰制取氧气,反应后,得到25.4克固体,生成氧气几摩尔? 过氧化钠与水反应怎样知道生成的是水还是氧气,能不能通过化学方程式直接弄出来,背得多了,都记乱了,还比方说二氧化碳与氢氧化钠反应生成的是水还是氢气 实验室加热氯酸钾和二氧化锰的混合物制取氧气.若收集到标准状况下3.36L氧气,至少需要多少克氯酸钾?同时生成氯化钾的物质的量为多少? 实验室用氯酸钾和二氧化锰混合物加热制氧气,反应前后二氧化锰的质量分数(变小,变大,不变)要原因 过氧化钠和水反应为什么氧气的氧来自于过氧化钠的氧,别用电子的解释为什么不多此一举的把氧作为是产生的水中的氧然后水中氧变成氧气虽然知道能量不够水分解, 实验室加热氯酸钾和二氧化锰的混合物制取氧气.实验室加热氯酸钾和二氧化锰的混合物制取氧气,若收集到标准状况下3.36L氧气,至少需要多少克的氯酸钾?同时生成氯化钾的物质的量是多少? 实验室加热4克氯酸钾和二氧化锰的混合物来制取氧气,当加热到不再产生氧气时,剩余固体物为3.04克,求 1.生成氧气多少克?2.原混合物中氯酸钾和二氧化锰各多少克?3.若改用加热高锰酸钾来制 1000克过氧化钠和水反映能产生多少氧气? 试题 用一定量的KClO3与MnO2的混合物共热制取氧气,开始时,MnO2在混合物中的质量分数为25%,当MnO2的质量分数提高到30%时,求分解的KClO3的质量是多少 实验室用氯酸钾和二氧化锰制取6mol氧气,问同时生成氯化钾多少摩尔?生成氯化钾多少克 为什么过氧化钠与水反应有氧气生成 将一定量MnO2和KClO3混合物共热制取氧气,开始时MnO2在混合物中占20%,加热后MnO2在混合物中含量提高到25%,求kclo3的分解百分率 氯酸钾加上二氧化锰生成氯化钾和氧气时的化学现象?KClO3(MnO2)→KCl+O2↑ 还有高锰酸钾加热生成锰酸钾,二氧化锰和氧气的化学现象!还有碳酸钠加上氯化氢生成氯化钠,二氧化碳和水的化学 急 过氧化钠和水反应为什么不生成氧气 初三化学催化剂MnO2与KCL,H2O2反应后如何分离好像最后一步都是结晶 之前有点不一样、、是甚 氯化钾和二氧化锰生成的氧气里有二氧化锰里的氧气吗 钠在空气中能够与氧气反应生成过氧化钠吗 MnO2为催化剂分解H2O2制取氧气的化学反应方程式实验室常以MnO2为催化剂分解H2O2制取氧气,请写出此反应的化学反应方程式 取制1mol的氧气要多少氯酸钾 如何判断过氧化钠与物质反应是否有氧气生成在什么时候过氧化钠与物质反应时,首先生成氧气,再由氧气氧化该物质?在什么时候过氧化钠直接氧化该物质?例如:过氧化钠与硫酸钠反应时是先 1.5摩尔铁在足量纯氧中完全反应生成四氧化三铁物质的量为多少摩尔 若有0.1mol纯氯酸钾,可制得氧气多少mol 氧化钠和氧气反应生成过氧化钠? 铝和四氧化三铁的反应中,每生成一摩尔铁转移2.67mol电子,为什么?4Al+3Fe3O4=高温=9Fe+4Al2O3 用氯酸钾制备氧气,若要制得标准状况下的氧气33.6L,至少需要氯酸钾多少摩尔?相当与氯酸钾多少克?麻烦把解题的步骤写下来 还有解题思路 最好能完整 具体一点 过氧化钠和二氧化碳反应生成碳酸钠和氧气啊是置换反应? 5摩尔三氧化二铁,4摩尔四氧化三铁,3摩尔氧化亚铁,的混合物,加入纯铁1摩尔并在高温下合三氧化二铁反应若纯铁完全反应则反应后混合物中氧化亚铁和三氧化二铁的物质的量之比可能是?A 4:3 给9.8g氯酸钾加热完全分解能产生多少摩尔氧气?要得到相同质量的氧气,需要分解多少克高锰酸钾?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn