自制控件的问题:

Libran 2003-05-17 12:14:09
1,在自制的控件里注册了自己的组件编辑器(由TDefaultEditor继承),Compile出错;在Requeries加入了designide.bpi后解决。
然而,在使用该控件的工程里,仍然必须在Runtime packages再次手动加入designide.bpi,否则依旧无法通过编译。
请问能否进行设置令使用该控件的工程能自动加入designide.bpi运行包?

2,想实现类似TPageControl和TTabSheet之间关系的类:
子控件(如TabSheet)不在组件面板上出现,而在设计期可以加在某种特定的父控件(如TPageControl)里,并可独立进行属性和事件等设置;
并且父控件(TPageControl)内可放置多个子控件(TTabSheet),可通过数组访问(PageControl->Pages),获得子控件数目(PageControl->PageCount),还可设置活动项(PageControl->ActivePage/ActivePageIndex)……
该如何做?
...全文
81 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Libran 2003-05-18
  • 打赏
  • 举报
回复
再UP一下...
Libran 2003-05-18
  • 打赏
  • 举报
回复
还有什么好建议?
晚上结贴啊……
888888888888 2003-05-18
  • 打赏
  • 举报
回复
关注
Libran 2003-05-18
  • 打赏
  • 举报
回复
感谢感谢...
我已可以在设计期将自制的子控件创建在父控件上,但编译时总报错,说找不到子控件的类(TSubConponent not found,TSubConponent是我自制的子控件的类名),非要注册该子控件到组件面板上,并且拖一个放到Form上后,程序才能正常运行,不知是何道理?
chifengwatch 2003-05-17
  • 打赏
  • 举报
回复
up
Libran 2003-05-17
  • 打赏
  • 举报
回复
多谢楼上几位。
1,我的控件和组件编辑器是在同一个文件里实现的;如果不做改动,能不能分开制作运行时包和设计期包?
2,仿照TTabSheet和TPageControl,我都是从TWinControl继承,并在父控件里加了一个TList指针来访问子控件;
问题是:
I. 我在设计期添加的子控件如何保存在父控件的TList中?而且在运行期还能够保持并可访问?
II. 子控件如何注册才能正常使用,而又不在组件面板出现?
III.由于均从TWinControl继承,为绘制表面自行响应了WM_PAINT消息;但父控件重绘后,如何使子控件也能重绘?
  • 打赏
  • 举报
回复
1.组件的运行时包不应该包括和IDE相关的内容,这部分应该放到组件的设计期包中。
具体的内容就很多了,你可以参考一下现在for CB6的组件源码....
redcony 2003-05-17
  • 打赏
  • 举报
回复
1是必须的,因为你的控件包中用到了另外一个包,除非你不带包编译
2你可以从TCollection,TCollectionItem继承实现你的TabSheet连
属性编辑器都可以不用写
Libran 2003-05-17
  • 打赏
  • 举报
回复
up
kingcaiyao 2003-05-17
  • 打赏
  • 举报
回复
关于如何将设计期间添加的子控件的指针保存到父控件的TList成员中,这是可以做到的.通过重载Notification方法:
virtual void __fastcall Notification(TComponent *AComponent,TOperation Operation)
{
......................
}
子控件如果注册的话,则一定会在面板中出现,通常用的组件注册函数:RegisterComponents都有一个页面参数,其实你可以不注册子组件,当它是普通的非可视化类来使用.
关于组件外观重绘,你可以在父组件中重载WM_PAINT消息,进而对TList成员中的每一个子控件进行重绘.
microfire 2003-05-17
  • 打赏
  • 举报
回复
往上顶一下

再搬个凳子

把耳朵洗洗

坐下来听吧
hitbabiq 2003-05-17
  • 打赏
  • 举报
回复
不懂,学习
  • 打赏
  • 举报
回复
1.需要分开几个unit才好,分别制作。运行时包和设计期包的本意就是不在运行时包里夹带没有必要的东西。

604

社区成员

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

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