用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧编程其他

使用BCB制作控制面版程序

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 19:40:01

用BCB开发控制面板程序

  前不久,Inprise公司(原Borland公司)正式公布了Delphi 5.0版,其开发向导中支持了“控制面板程序(CPL)”框架的生成,利用它可以快速、方便地开发CPL程序。那么是否能在现有的Borland C++ Builder 4.0中开发CPL程序呢?

  CPL程序是动态链接库(DLL)的一种变形,只不过扩展名为.cpl、入口函数为CPlApplet()而不是DllEntryPoint()罢了(并不是不要DllEntryPoint(),不然不能编译)。我们只需在BCB4.0中选择“FileNew...”打开开发向导,选择“DLL”生成一个DLL框架,并在其中加入一个函数CPlApplet()就可以了。为了快速地说明问题,笔者先给出一个最简单的例子程序,然后再来解说。

#include <vcl.h>
#include <cpl.h>
#include <cplext.h>
#pragma hdrstop
USERES("my.res");//这是我加入的资源文件,其中有一个图标

extern"C" __declspec(dllexport) long CALLBACK __stdcall CPlApplet(HWND hwndCPL,UINT uMsg,LPARAM lParam1,LPARAM lParam2);

int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
   return 1;
}
long CALLBACK __declspec(dllexport) __stdcall CPlApplet(HWND hwndCPL,UINT uMsg,LPARAM lParam1,LPARAM lParam2)
{
   LPNEWCPLINFO mycpl;//LPNEWCPLINFO结构可在CPL.H头文件中查看
   long result=0;
   switch (uMsg)//判断传来的信息
   {
      case CPL_INIT:// 第一个信息,在控制面板调入时产生
         result=1;
         break;
      case CPL_GETCOUNT://第二个信息,在控制面板调入时产生
         result=1;
         break;
      case CPL_INQUIRE://第三个信息,当控制面板查询时产生
         result=0;
         break;
      case CPL_NEWINQUIRE://第三个信息,当控制面板查询时产生
         mycpl=LPNEWCPLINFO (lParam2);// 将lParam2中的指针传给mycpl
         mycpl->dwSize=sizeof(NEWCPLINFO);
         mycpl->dwFlags=0;//标志变量 一般设为0
         mycpl->dwHelpContext=0;//帮助句柄一般设为0
         mycpl->lData=0;
         mycpl->hIcon=(HICON)LoadIcon(HInstance,"MyIcon");
         mycpl->szHelpFile[0]='

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:30,406.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号