6

我需要删除一个按钮焦点矩形,因为TBitBtn单击按钮后它在字形上看起来很糟糕。

4

2 回答 2

6

您可以创建一个 Interposer 类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 测试 - 有/无主题支持)。

于 2013-03-10T20:09:49.377 回答
3

作为一种解决方法,您可以使用 a TSpeedButton,它不获取焦点,因此永远不会收到焦点矩形。

于 2013-03-10T01:30:46.580 回答