控制面板知多少(续篇)

控制面板知多少(续篇)

 

VCL如何提供对“控制面板”的支持

       上面讲了如何写原生的控制面板程序,下面我将介绍VCL是如何支持写控制面板程序的。它主要是引入了一个Ctlpanel单元及TAppletApplicationTAppletModule类,TAppletApplication代表一个CPL文件,TAppletModule代表一个控制面板组件,在这两个类的帮助下,你可以轻松地完成控制面板程序的编码。奇怪了,你是怎么知道的,其实,只要点选“Project / View Soure”打开项目源代码,即可发现语句”#include <Ctlpanel.hpp>”表明它引入了Ctlpanel单元,继续追踪Ctlpanel单元(即打开Ctlpanel.hpp文件),你会发现TAppletApplication TAppletModule的定义,它们的定义如下:

class PASCALIMPLEMENTATION TAppletApplication : public Classes::TComponent

{

       typedef Classes::TComponent inherited;

private:

       unsigned FControlPanelHandle;

       Classes::TList* FModules;

       ......

};

class PASCALIMPLEMENTATION TAppletModule : public Classes::TDataModule

{

       typedef Classes::TDataModule inherited;

      

private:

       TActivateEvent FOnActivate;

       TStopEvent FOnStop;

       ......

};

这样一步步追踪也不失为一种学习的好方法。

 

一个在VCL大力支持下的控制面板的程序实例:显示你的机器名

操作步骤如下:

1、选择C++ Builder的“File / New”选项,开启“New Items”对话框(如图下图所示)选择“Control Panel Application”即建立控制面板应用程序,即CPL文件。

2、属性AppletIcon中设置图标,Caption中设置标题比如:显示你的机器名

1、  Activate事件填写如下代码来获取机器名

void __fastcall TAppletModule1::AppletModuleActivate(TObject *Sender,

      int Data)

{

    LPTSTR lpBuffer=new char[256];

    LPDWORD nSize= new unsigned long(256);

    GetComputerName(lpBuffer,nSize);

    ShowMessage("你的计算机名称:"+AnsiString(lpBuffer));

    delete lpBuffer;

    delete nSize;

}

 

1-2  New Items”对话框

 

提示:在“Applet Module”中选择右键,将出现快捷菜单,你可以简单地完成“安装”、“删除”等功能而不必像上面的例子那样通过“批处理文件”来完成控制面板程序的编译,测试等功能

 

提示:如果你想自己体会一下这个程序的功能,你不必通过键盘的输入来达到目的,网站http://www.zccfamily.com/zqget/ 提供了这个程序的所有源代码“ctrl.zip,还有上一个程序“hello.zip”你可以去下载来看一下实际的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值