Delphi 如何从按钮控件中删除焦点矩形?

Delphi 如何从按钮控件中删除焦点矩形?,delphi,delphi-7,Delphi,Delphi 7,我需要删除按钮焦点矩形,因为单击按钮后,按钮焦点矩形在TBitBtn图示符上看起来不好。作为一种解决方法,您可以使用TSpeedButton,它不会获得焦点,因此,从不接收焦点矩形。您可以为TBitBtn创建一个插入器类,并覆盖SetButtonStyle以防止其内部IsFocused变量进行设置: type TBitBtn = class(Buttons.TBitBtn) protected procedure SetButtonStyle(ADefault: Boolean)

我需要删除按钮焦点矩形,因为单击按钮后,按钮焦点矩形在
TBitBtn
图示符上看起来不好。

作为一种解决方法,您可以使用
TSpeedButton
,它不会获得焦点,因此,从不接收焦点矩形。

您可以为
TBitBtn
创建一个插入器类,并覆盖
SetButtonStyle
以防止其内部
IsFocused
变量进行设置:

type
  TBitBtn = class(Buttons.TBitBtn)
  protected
    procedure SetButtonStyle(ADefault: Boolean); override;
  end;

...
implementation

procedure TBitBtn.SetButtonStyle(ADefault: Boolean);
begin
  inherited SetButtonStyle(False);
end;

这将产生一个无焦点矩形的
TBitBtn
。(使用D7测试-有/没有主题支持)。

可能设置为
聚焦:=假到底是在OnClick中?还是改用speedbutton?两个答案都很好,非常感谢:)