1

テキストを に描画する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, . それはそれらすべての魅力のように機能します。しかし、のプロパティに適用すると、アンチエイリアシングは変わりません。TEditTLabelTRichEditFont

私の質問は、TRichEdit コントロールのアンチエイリアシングの品質を変更するにはどうすればよいですか?

4

1 に答える 1