VCLのTSpeedButtonのFontプロパティの設定が反映されない
対象となるIDE製品
- Delphi/C++Builder/RAD Studio 10.4.1
問題
10.4.1で、VCLのTSpeedButtonのFontプロパティを変更しても、アプリケーション実行時に反映されません。
この症状は、Embarcadero Quality Portalに報告されています。
ケース番号 | タイトル |
---|---|
RSP-30755 | Property Font in TSpeedButton not working |
(Embarcadero Quality Portalへのログインは、EDNアカウントが必要)
解決
この問題は、10.4.1固有の不具合で、10.4.2で修正済みです
なお、10.4.1のVcl.Buttons.pasのエディタで開いて、1716行目にコードを追加すると本症状は改善されます。
<<修正前>>
procedure TCustomSpeedButton.Paint;
..
..
try
if LGlassPaint then
LCanvas.Handle := MemDC
else LCanvas.Handle := Canvas.Handle;
if not LGlassPaint then
..
..
<<修正後>>
procedure TCustomSpeedButton.Paint;
..
..
try
if LGlassPaint then
LCanvas.Handle := MemDC
else LCanvas.Handle := Canvas.Handle;
LCanvas.Font := Self.Font; //追加
if not LGlassPaint then
..
..
修正したVcl.Buttons.pasの適用方法は、以下のドキュメントを参照してください。