2013-03-09 16 views
6

ボタンをクリックした後にTBitBtnグリフを超えて表示されるため、ボタンのフォーカス矩形を削除する必要があります。ボタンコントロールからフォーカス矩形を削除するにはどうすればいいですか?

+0

は、OnClick after allに「Focused:= false;」を設定している可能性があります。 – shibormot

+0

代わりにスピードボタンを使用しますか? – BeniBela

+0

両方の答えは素晴らしかった、ありがとう:) –

答えて

3

回避策として、TSpeedButtonを使用できます。TSpeedButtonは、フォーカスを取得しないため、フォーカス矩形を受け取ることはありません。

6

あなたはTBitBtn用インターポーザクラスを作成し、それを設定するための内部IsFocused変数の防止SetButtonStyleを上書きすることができます。これは、noフォーカス矩形でTBitBtnを発生します

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

... 
implementation 

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

。 (D7でテスト済み - テーマサポート付き/なし)。

関連する問題