德尔福tcustomcontrol / twincontrol

时间:2016-04-22 09:24:38

标签: delphi delphi-xe tcustomcontrol

有人可以解释一下哪个控件更适合创建自定义组件? twincontrol和tcustomcontrol有什么区别?

提前谢谢

1 个答案:

答案 0 :(得分:5)

  

有人可以解释一下哪个控件更适合创建自定义组件?

这取决于您正在制作什么类型的组件以及它的要求。

是视觉吗?

  • 如果不是,请使用TComponent

  • 如果是,是否需要自己的HWND(输入焦点,窗口消息等)?

    • 如果不是,请使用TGraphicControl

    • 如果是,是否需要自定义绘画?

      • 如果是,请使用TCustomControl

      • 如果不是,请使用TWinControl

  

twincontrol和tcustomcontrol有什么区别?

TCustomControlTWinControl后代,除了WM_PAINT之外,还为TWinControl消息添加了一些额外的处理。 TCustomControl公开了您可以使用的公共Canvas属性。在绘制期间,它会在csCustomPaint属性中启用ControlState标志,然后调用组件可以覆盖的虚拟Paint()方法。因此TCustomControl的好处是它使自定义绘画更容易管理。没什么。