想做个类似BCB IDE的dialog designer,哪位大虾给点思路

march_zhou 2007-01-11 05:02:04
想做个类似BCB IDE的dialog designer,能够从控件栏拖控件到Form上面,可以改变Form上面控件的位置和大小,也可以从属性编辑框中更改属性。看到TComponent有属性ComponentState,其中有值为csDesigning,InsertComponent()会设置这个值,说明bcb应该有类可以比较方便的实现我的设想,但试了半天都不得要领,哪位大虾可以给个思路,先谢了
...全文
231 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
march_zhou 2007-01-12
  • 打赏
  • 举报
回复
winner8080(志在云天) 提的方案之前我已经实现了,只是觉得代码复杂了些,而且BCB既然在类中有设计期的相关属性及方法,就应该能用现有类来实现。
就像constantine(飘遥的安吉儿) 说的,我想通过控制TComponent的设计期来实现,但没有找到这方面的资料,哪位能告诉我方法或者参考网址什么的
winner8080 2007-01-11
  • 打赏
  • 举报
回复
这个东西我做了很长一段时间了,我做的是客户自定义的报告格式设计
已经完成了,
但都是公司的产品,不好外泄的/
给你点提示吧.

想做出类似于属性编辑器的东西就用TValueListEditor控件,
这个东西就事写属性编辑器的

另外,想像bcb的ide一样拖动控件,不要设置drag什么的了,这个根本满足不了你的要求,用API函数来实现控件的移动和缩放等,要自己定义鼠标光标

至于选中的控件画线等,你就Rectangle()就可以了,不过画的时候有点抖,这点肯定不好解决,windows的画图板都有这个问题.

还有控件的左对齐,水平均分等就是那些普通的想法就可以实现,基本没误差

有些控件不是从TWinControl继承的,有可能你要重写,相信你也就用到其中的几个控件,比如panel没有keydown事件,你可以重写一个类,当然是继承自panel类,panel类其实是有keydown的,不过borland没放出来,你重写的时候把他放出来就行了.

总之,这些东西刚开始写是比较烦的
祝你好运 good speed

vc8fans 2007-01-11
  • 打赏
  • 举报
回复
好像在每个网站有例子下载,只看了一下就删除了,你去找看
constantine 2007-01-11
  • 打赏
  • 举报
回复
这方面没研究,可以看看那么有源码的代码包,有些有可以控制设计期的,我自己没弄过设计期的
Waiting4you 2007-01-11
  • 打赏
  • 举报
回复
强烈建议楼主做个gcc+wxwidget的IDE,偶支持你
YouTuBe 2007-01-11
  • 打赏
  • 举报
回复

551

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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