1

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

先感谢您

4

1 回答 1

7

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

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

是视觉的吗?

  • 如果没有,请使用TComponent.

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

    • 如果没有,请使用TGraphicControl.

    • 如果是,它是否需要自己定制油漆?

      • 如果是,请使用TCustomControl.

      • 如果没有,请使用TWinControl.

twincontrol 和 tcustomcontrol 有什么区别?

TCustomControl是一个后代,它为消息TWinControl添加了一些额外的处理,除了做什么。 公开一个您可以使用的公共属性。在绘制期间,它启用属性中的标志,然后调用您的组件可以覆盖的虚拟方法。所以这样做的好处是它使自定义绘画更容易管理。而已。WM_PAINTTWinControlTCustomControlCanvascsCustomPaintControlStatePaint()TCustomControl

于 2016-04-22T22:46:56.650 回答