使用C++Builder创建自定义VCL组件时的一些问题

原创 2003年09月17日 08:52:00


主页:http://www.maxss.net
邮件:maxchou@163.com


  在有些情况由于特殊的需求,需要开发自己的VCL组件以满足需求。对于初学者来说有些问题是需要强调一下的。

  第一:就是文件及类的命名问题

  菜单操作过程:“Component->New Component...”,在“New Component”对话框的“Unit file name”栏中输入你的类名,如你的类名为“TMyClass”,则这里只要填写“MyClass”,注意这里没有加“T”。确认后会打开该文件。

  完成对源文件的编辑并保存后,就要向IDE环境中安装该组件,操作如下:“Component->Install Component...”,选择“Into new package”页,在“Unit file name”中输入要安装的组件源文件路径及文件名,“Package file name”中输入你要生成的新包文件路径及文件名,注意你里的包名应该为类的名字,如“TMyClass.bpk”,这样就会生成.bpk包文件与包源文件“TMyClass.cpp”,如果把包名写MyClass.bpk,则你的组件的源文件就会被覆盖掉,当然你可以选择存入在不同的路径下,但这样就会不容易管理和容易产生混淆。

  第二:如何给新的组件自定义图标

  一般情况下是需要为自己编写的组件选择一个合适的图标,以更形象地表达该组件的功能,这个图标是在设计阶段在RAD环境中的组件栏中显示,一般大小为24x24。

  首先,打开C++Builder自带的Image Editor,选择“File->New...->Component Resource File(.dcr)”,然后选择“Resource->Bitmap”,输入尺寸和颜色数据,确认后就创建了一个位图让你编辑,默认的资源名为“Bitmap1”,应该将这个名字更改,以和你的.bpl文件名一致,如你的组件的.bpl为“TMyComponent.bpl”,则它的名字应为“TMYCOMPONENT”,并且合部大写。双击该结点就可开始编辑你的图标,当然也可以使用PhotoShop之类的软件做好后直接使用“粘贴”命令粘贴,注意最多支持256色。

  当图标绘画完成后就可以存盘,这时必须注意其命名的问题,该文件名必须与你的组件类名一致,如你的组件类名为“MyComponent”,则文件名应为“MYCOMPONENT.dcr”,并且全部大写。再次安装你的组件后就可以使用你自定义的图标了。


  这是我创建自定组件的做法,如我有什么不正确的地方,请指出,可以让大家互相学习。

用C++Builder 建立数据库VCL使用经验

随着数据库的广泛应用,数据库编程已经成为程序设计中发展迅猛的一支。C++ Builder在数据库开发方面具有的强大功能是无可比拟的,你甚至可以不写一行程序就生成漂亮的数据库程序。  下面对C++Bui...
  • chensheng913
  • chensheng913
  • 2004年06月27日 16:41
  • 6152

VCL组件开发

4.1 TObject分支     下面几部分分别对包含于五个主要分支中的类做出简要地描述,为完整地说明VCL对象的分层结构,引用了包含于产品中的VCL对象分层结构图。     所有的VCL对象都...
  • ghevinn
  • ghevinn
  • 2014年05月13日 11:54
  • 1863

DevExpress VCL for C++BUILDER XE6

1)下载地址     http://download.csdn.net/detail/m_star_jy_sy/8425035 2)编译和安装   设置工程属性的search path为:..\so...
  • m_star_jy_sy
  • m_star_jy_sy
  • 2015年02月05日 10:42
  • 1968

C++BUILDER 下开发语音源码,转载

XP上可以安装Speech SDK5.11.将sapi.dll导入到C++Builder:Component->Import Component->Import a Type Library->Add...
  • jyc1228
  • jyc1228
  • 2011年07月26日 12:03
  • 963

C++ Builder高手进阶 (三)用BCB设计DBTreeView组件(小结)

 用BCB设计DBTreeView组件小结续二的最后一个函数,你是不是感到很纳闷:这个函数到底是用来干什么的呢?下面听我慢慢道来:我使用这个函数主要是用来实现定制属性编辑器。细心的读者一定还记得,我设...
  • nxyc_twz
  • nxyc_twz
  • 2003年01月29日 13:57
  • 1343

C++ Builder 带VCL 的DLL

建立DLL工程 编写DLL 文件的出口函数 带VCL的程序与普通程序不同之处为在调用函数进行FORM 定义,否则会出现,“Access Vio…”内存溢出报错。 操作 参考:http://docwi...
  • swanwei
  • swanwei
  • 2017年12月20日 17:55
  • 29

C++ Builder VCL的字符串函数(2)

原文地址:http://www.yesky.com/20020701/1618451_1.shtml1. UpperCase  将指定的AnsiString字符串转换为大写形式,函数原型如下:  An...
  • extcsdn
  • extcsdn
  • 2005年08月08日 18:00
  • 1591

TFrame

TFrame 框架 减少界面重画,代码重写,是非常好用的框架oop
  • ksrsoft
  • ksrsoft
  • 2014年05月09日 23:21
  • 606

关于C++Builder 中使用 VCLSkin 换肤控件的一点心得!在OCX(ActiveX)中的应用。

对于 VCLSkin的使用网上的文章并不多,害的我在这次客户突如其来的对界面的无理要求中手足无措。其实 VCLSkin是个使用很简单,强大,皮肤繁多的控件。可以满足C++builder以及Delphi...
  • zhangzongnan
  • zhangzongnan
  • 2011年05月13日 23:06
  • 1725

VCL+FMX 双剑合壁编程

特别感谢】猫叔捐助SSD硬盘 VCL 是经典,FMX 是新生,新生事物总会带来一些好玩新奇的东西。舍弃经典是浪费,不了解新生事物是等死,那么我们来一个二合一双剑合壁又如何呢? 要双剑合壁,...
  • caonumber
  • caonumber
  • 2015年10月06日 13:55
  • 531
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用C++Builder创建自定义VCL组件时的一些问题
举报原因:
原因补充:

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