有关C++ BUILDER 控件重写的问题

yyz315 2003-08-21 09:19:09
关于C++Builder6的TCoolBar控件,从ComCtlrs.pas文件来看,它借用了TCoolBand类,我现在修改了TCoolBand类(在ComCtlrs.pas中,发布了2个属性)和TCoolBar类,并编译得到ComCtlrs.dcu文件,和覆盖掉C++Builder下的ComCtlrs.pas,ComCtlrs.dcu文件,问现在需要怎样处理ComCtlrs.hpp 使我添加的属性能在C++Builder中显示出来或使该属性能够被我使用?????急
...全文
86 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyz315 2003-08-25
  • 打赏
  • 举报
回复
重新继承很困难,因为修改TCoolBar控件时涉及到界面的刷新,这时在comctrls.pas文件中有几个条件判断来决定控件刷新的外观,在此处即不能先继承原控件后修改也不能先判断控件外观后再继承原控件,本人非常希望哪位高手能制作一下该控件并提供一个源码给我.
yyz315 2003-08-22
  • 打赏
  • 举报
回复
是这样的,因为在修改comctrls.pas时,需要修改TCoolBar,TCoolBand两个类,那么把comctrls.pas and comstrls.dcu在C++Builder中安装时不知道对原来的控件产生什么影响??
windlyzhang 2003-08-22
  • 打赏
  • 举报
回复

你在delphi中的pas文件要想能在bcb中安装,可以在bcb中新建一个控件包,然后将pas文件包含进来,然后再编译,它将生成bcb中安装控件的所有需要文件,这样你就可以在bcb中用你的控件了!
yyz315 2003-08-22
  • 打赏
  • 举报
回复
谢谢你的帮助,不过你的这一方法是使ToolBar 的右边出现一个小三角形,而不是象IE浏览器的两个大于号的按钮>>(孰称人形按钮),希望您能再帮我想想办法.
Siney 2003-08-22
  • 打赏
  • 举报
回复
你重新继承,不要修改自带的pas文件,如果你已经实现了,就直接继承一个新的类重载以前的方法就可以了
猎人66 2003-08-21
  • 打赏
  • 举报
回复
要在C++Builder显示出来,估计是bpl文件
能使用,应该还要有hpp文件吧,
  • 打赏
  • 举报
回复
有现成儿的,不用自己编。
在 CoolBar 里面放一个 PageScroller (这个控件就在 CoolBar 旁边,很容易找到)
PageScroller 的属性不用改,完全用默认值

在 PageScroller 里面放一个 ToolBar,这个 ToolBar 要设置属性:
Wrapable=false; AutoSize=true; Align=Left; EdgeBorders所有为false; 其它随你的喜好。

如果 AutoSize=true 在设计时不方便,暂时先 false, 等添加好按钮之后再设为 true.

这样就完成你的功能了。
yyz315 2003-08-21
  • 打赏
  • 举报
回复
谢谢你的回答,因为我现在要利用TCoolBar来做一个具有IE浏览器效果的TToolBar,目的是当窗口缩小时,在ToolBar的右边有一个>>形状的按钮出现.请问您能帮我提供一个思路吗???

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧