问个问题

tjj5203 2010-01-09 04:39:25
delphi控件在设计期间是怎么控制的。
比如stringgrid控件在设计期的整个样子,当我们行列增加后,相应的表格行列也增加了。
这部分源码在哪里?是不是要与IDE交互
...全文
136 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dd_zhouqian 2010-01-11
  • 打赏
  • 举报
回复
调试vcl
lhy 2010-01-11
  • 打赏
  • 举报
回复
控件部分有设计期的接口。
显示部分很多代码是使用运行期的。
VCL各代接口不统一,具体你得问是哪一代的。
huangheguyun 2010-01-11
  • 打赏
  • 举报
回复
大部份在VCL中
notebook800 2010-01-10
  • 打赏
  • 举报
回复
22.4 组件编辑器 677
22.4.1 TComponentEditor 677
22.4.2 一个简单的组件 678
22.4.3 一个简单的组件编辑器 679
22.4.4 注册组件编辑器 679
notebook800 2010-01-10
  • 打赏
  • 举报
回复
你搜索一下“属性编辑器”

或者看看《Delphi 5开发人员指南》

第22章 高级组件技术
22.3 编写属性编辑器 670
22.3.1 派生出一个属性编辑器对象 670
22.3.2 把属性当作文本来编辑 671
22.3.3 注册新的属性编辑器 674
22.3.4 用对话框来编辑属性 675
hill_qd 2010-01-10
  • 打赏
  • 举报
回复
在你的delphi安装目录下的source/vcl目录下面有个grids.pas,这个文件里定义了TStringgrid控件,我用的是delphi7.0
Harryfin 2010-01-09
  • 打赏
  • 举报
回复
楼主举的那个例子无分设计期还是运行期
mdejtod 2010-01-09
  • 打赏
  • 举报
回复
也不尽然都是这样,。你可以看一下TIMAG的代码,在设计期,它多画了一个虚线框,而运行期没有,这就是个例子
tjj5203 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mdejtod 的回复:]
控件的重画事件中,或是触发了其它事件,都会重置相应的控件状态componentstate比如设计期状态:
csdesigning...等等
[/Quote]
哦,那这部分代码是IDE自动调用的吧,如果我们在设计组件的时候只要提供了设计期的paint代码,就行了吧
mdejtod 2010-01-09
  • 打赏
  • 举报
回复
控件的重画事件中,或是触发了其它事件,都会重置相应的控件状态componentstate比如设计期状态:
csdesigning...等等
tjj5203 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 harryfin 的回复:]
所谓的设计期,其实跟运行期是类似的(但是多了很多IDE的控制),同样是需要把控件创建出来的。这样你应该明白了吧。
[/Quote]
这部分源码我们看的到吗?VCL中
Harryfin 2010-01-09
  • 打赏
  • 举报
回复
所谓的设计期,其实跟运行期是类似的(但是多了很多IDE的控制),同样是需要把控件创建出来的。这样你应该明白了吧。
hjkto 2010-01-09
  • 打赏
  • 举报
回复
板等
tjj5203 2010-01-09
  • 打赏
  • 举报
回复
沙发老是自己坐

5,386

社区成员

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

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