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

用BCB开发控制面板程序

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

前不久,Inprise公司(原Borland公司)正式公布了Delphi 5.0版,其开发向导中支持了“控制面板程序(CPL)”框架的生成,利用它可以快速、方便地开发CPL程序。那么是否能在现有的Borland C++ Builder 中开发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 .
页面执行时间:23,046.88000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号