BCB 中如何将多个基本控件组合成一个新的控件??

draculamx 2010-06-25 10:12:52
是一个关于自制VCL控件的问题。。。
现在我的一个程序,里面有一些负责显示数据的控件,他们都是成组的出现,比如,我有12个单元,每一个单元都要显示:

1.数字
2.一个圆,用不同的颜色代表不同的状态
3.一个柱状图,用来和数字对应

现在,我采用的方法是,数字用一个 label,圆用一个 shape,柱状图用一个 label 自绘。这样做没什么问题,但是,每次修改界面的时候,很麻烦,于是我想到了自制 VCL 组件,把这3个基本组件,放到一个容器控件中,但是,我发现,BCB在自制组件的时候,不像 VB 那么方便(VB 自制控件的时候,可以直接操作界面,所见即所得。比如,你可以直接继承一个 Panel 然后把其他的基本组件直接拖进去。。),而BCB6里面,你只能面对代码。。。。

要怎么做呢??
...全文
228 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
draculamx 2010-06-28
  • 打赏
  • 举报
回复
至少知道了,TFrame 可以当容器控件使用。。。
w88529593 2010-06-27
  • 打赏
  • 举报
回复
怕显示或者切换的时候闪屏的话,可以把DoubleBuffered设置为true试试
wwyyxx26 2010-06-26
  • 打赏
  • 举报
回复
对,用Frame来做
周药师 2010-06-25
  • 打赏
  • 举报
回复
便于更好的管理

我在2楼说的很清楚了
draculamx 2010-06-25
  • 打赏
  • 举报
回复
TFrame 我想过,但是没有去尝试,因为,我考虑到效率问题,现在我的一个窗体上,有100多个控件,在显示,或者切换窗体的时候,有点慢(工业控制用途,工控机。。没办法),我现在就想,尽量减少控件个数,这样在效率和维护方面都更好一点,如果使用TFrame ,那么就要在窗体上放置12个。。这样做,会更快吗??

我现在不是在 多个 FORM 中有相同的界面元素,是在 同一个 FORM 中有相同元素。。。
周药师 2010-06-25
  • 打赏
  • 举报
回复
TFrame 可以就象其它控件一样,最终使用时是作为控件放在TForm中的,不能单独显示一个
TFrame。那么为什么要TFrame这个控件呢?比如,你有多个Form,其中有一部分界面相同,
此时你就可以将这部分相同的界面做成一个Frame,然后再将Frame放到Form中,这样多个
Form中这些公共界面的代码,只需要一份代码就可以了(就是Frame中的代码)。

你可以先做好Frame,然后在设计时选择“Standard”面板里的Frame控件,然后在Form里点
一下鼠标,此时BCB会弹出一个窗口,让你选择哪个Frame,然后你选择的Frame就放到你的
Form上了。
周药师 2010-06-25
  • 打赏
  • 举报
回复
做了一个Frame就可以了

604

社区成员

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

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