控制面板知多少(续篇)

原创 2004年05月17日 23:03:00

控制面板知多少(续篇)

 

VCL如何提供对“控制面板”的支持<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       上面讲了如何写原生的控制面板程序,下面我将介绍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;

}

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2004-5-162012130.jpg

 

1-2  New Items”对话框

 

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

 

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

word交叉引用、连续多文献引用等

以word2010为例,准备好内容如下,然后在需要加文献的地方,进入“引用”菜单,选择“交插引用”,如下图所示: 即可根据需要选择对应的文献编号,根据需要调整成上标等形式。 如果需要连续引...
  • generalhking
  • generalhking
  • 2013年11月04日 14:44
  • 5454

C++ 模板函数 知多少?

什么是函数模板呢? 怎么定义函数模板呢? 定义函数模板有什么用呢? 详情点进来!...
  • y1196645376
  • y1196645376
  • 2016年05月02日 14:20
  • 3417

css知多少(8)——float上篇

1. 引言   对于我们所有的web前端开发人员,float是或者曾经一度是你最熟悉的陌生人——你离不开它,却整天承受着它所带给你的各种痛苦,你以为它很简单就那么一点知识,但却驾驭不了它各种奇怪...
  • wangfupeng1988
  • wangfupeng1988
  • 2015年03月04日 19:41
  • 1576

C#把自写的卸载程序添加到控制面板的添加删除程序目录中

转自: http://blog.csdn.net/liujun198773/article/details/17244337 [plain] view plain cop...
  • hemeinvyiqiluoben
  • hemeinvyiqiluoben
  • 2018年01月12日 13:10
  • 14

Windows 10 1703/1709 版本 Win+X 丢失原控制面板解决方法

2017年11月19日 更新,新 1709 系统覆盖无效,在覆盖后按照如下方法在控制面板属性到备注中加入“控制面板(&P)”保存并重启资源管理器即可 2017年10月23日 更新,Windows 1...
  • maxsky
  • maxsky
  • 2017年06月07日 15:02
  • 5805

18款开源/商用的Linux服务器控制面板

当站长同时拥有很多网站站点,不通过控制面板管理各种网站就会非常困难。为了满足不同需求,我们需要个性化的方案。cPanel 和 Plesk 是比较强大的付费控制面板,但有很多开源的控制面板有着类似的功能...
  • English0523
  • English0523
  • 2016年05月18日 14:30
  • 11581

打不开我的电脑、控制面板,出现提示EXPLORER:服务器运行失败的处理方法(

打不开我的电脑、控制面板,出现提示EXPLORER:服务器运行失败的处理方法(4步骤图解教程) 首先用鼠标右键开始按钮,选中属性选项   属性中选择控制面板为菜单,然...
  • songshu1007
  • songshu1007
  • 2014年06月07日 15:24
  • 1618

可滑动的系统状态栏控制面板(wifi,bluetooth,数据通信,声音,自动旋转)

在系统状态栏里添加一些开关,便于用户操作一些常用的操作,比如开关Wifi,开关蓝牙,开关数据通信等,这些都是在设置里可以控制 的,但是用户要点击多次之后才能到达要去的区域,这个对用户体验不佳。所以在状...
  • comkingfly
  • comkingfly
  • 2011年11月25日 23:50
  • 2219

rabbitmq3.6.5安装及web控制面板的使用

一.安装 安装包, 先安装二郎环境,注意,请以管理员身份安装,不然会出现乱码。 然后安装rabbitmq-server,安装完会自动启动服务的。 二.启动web控制面板。 管理员打开...
  • Joyhen
  • Joyhen
  • 2017年06月12日 21:03
  • 329

Window系统命令行调用控制面板程序

从网络收集的在Windows 7下可以使用的各个命令语句: control.exe /name microsoft.folderoptions 启动资源管理器的 文件夹属性 选项卡 control...
  • TheoGo
  • TheoGo
  • 2011年07月05日 09:40
  • 6665
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:控制面板知多少(续篇)
举报原因:
原因补充:

(最多只允许输入30个字)