テキストを に描画するDelphi 7TBitmap
アプリケーションがあります。テキストのアンチエイリアシングの品質を制御できる必要があります。この目的のために、次の手順を使用しています。
procedure SetFontQuality(Font: TFont; Quality: Byte);
var
lf: TLogFont;
begin
GetObject(Font.Handle, SizeOf(TLogFont), @lf);
lf.lfQuality := Quality;
Font.Handle := CreateFontIndirect(lf);
end;
私はTBitmap
このようにそれを呼んでいます: SetFontQuality(MyBitmap.Canvas.Font, ANTIALIASED_QUALITY)
. ここでの目標は、新しい ClearType の代わりに古いアンチエイリアシングを設定することです。DrawText
にテキストを描画するために使用している場合、これはうまく機能しますTBitmap
。ただし、その上に a のテキストを描画する必要があるため、この目的でTRichEdit
使用しています。EM_FORMATRANGE
しかし、テキストは Windows のアンチエイリアシングが何であれ描画されます (したがって、Windows で ClearType を有効にすると、古いアンチエイリアシングを で設定しても ClearType になりますANTIALIASED_QUALITY
)。
のフォント品質を変更する必要があると思わTRichEdit
れるので、手順を適用しましたSetFontQuality(MyRichEdit.Font, ANTIALIASED_QUALITY)
が、状況は変わりませんでした。
少しテストしてみましたFont
- さまざまなコントロールのプロパティに手順を適用してみました- TButton
, TMemo
, . それはそれらすべての魅力のように機能します。しかし、のプロパティに適用すると、アンチエイリアシングは変わりません。TEdit
TLabel
TRichEdit
Font
私の質問は、TRichEdit コントロールのアンチエイリアシングの品質を変更するにはどうすればよいですか?