有人可以解释一下哪个控件更适合创建自定义组件? twincontrol和tcustomcontrol有什么区别?
提前谢谢
答案 0 :(得分:5)
有人可以解释一下哪个控件更适合创建自定义组件?
这取决于您正在制作什么类型的组件以及它的要求。
是视觉吗?
如果不是,请使用TComponent
。
如果是,是否需要自己的HWND
(输入焦点,窗口消息等)?
如果不是,请使用TGraphicControl
。
如果是,是否需要自定义绘画?
如果是,请使用TCustomControl
。
如果不是,请使用TWinControl
。
twincontrol和tcustomcontrol有什么区别?
TCustomControl
是TWinControl
后代,除了WM_PAINT
之外,还为TWinControl
消息添加了一些额外的处理。 TCustomControl
公开了您可以使用的公共Canvas
属性。在绘制期间,它会在csCustomPaint
属性中启用ControlState
标志,然后调用组件可以覆盖的虚拟Paint()
方法。因此TCustomControl
的好处是它使自定义绘画更容易管理。没什么。