我有一个从 TCustomButton 派生的自定义按钮组件。
为了使它成为所有者,我已经像这样覆盖了 CreateParams:
procedure TMyButton.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
Style := Style or BS_OWNERDRAW;
end;
end;
我的按钮适用于我自己的绘画等,但我想做的是在对象检查器中提供一个布尔属性,它可以用来告诉我的按钮是否应该是所有者绘制的。
例如,如果启用了该属性,则按钮使用我自己的绘制例程作为所有者绘制按钮进行绘制,如果该属性被关闭,那么它应该绘制为主题 Windows 按钮样式(如常规 TButton)。
CreateParams 告诉我的按钮它应该是 ownerdawn,但我想提供一个选项来告诉按钮它是否应该是 ownerdrawn。通过在设计时或通过代码在运行时更改属性,我想告诉我的按钮是否要所有者绘制。
这有可能吗?如果可以,怎么做?