リッチ エディット コントロールでテキストの書式を設定する方法

アプリケーションは、リッチ エディット コントロールにメッセージを送信することで、文字や段落の書式設定を行ったり、書式設定情報を取得したりできます。 段落の書式設定属性には、配置、タブ、インデント、番号付け、単純な表などがあります。 文字の場合は、フォント名、サイズ、色、および太字、斜体、保護などの効果を指定できます。

知っておくべきこと

テクノロジ

前提条件

  • C/C++
  • Windows ユーザー インターフェイス プログラミング

手順

リッチ エディット コントロールでテキストを書式設定する

段落の書式設定は、EM_SETPARAFORMAT メッセージを使用することで適用できます。 選択されたテキストの現在の段落書式設定を判別するには、EM_GETPARAFORMAT メッセージを使用します。 段落の書式設定属性を指定するために、両方のメッセージで PARAFORMAT 構造体または PARAFORMAT2 構造体が使用されます。

文字の書式設定は、EM_SETCHARFORMAT メッセージを使用することで適用できます。 選択されたテキストの現在の文字書式設定を判別するには、EM_GETCHARFORMAT メッセージを使用します。 文字属性を指定するために、両方のメッセージで CHARFORMAT 構造体または CHARFORMAT2 構造体が使用されます。

EM_SETCHARFORMAT メッセージと EM_GETCHARFORMAT メッセージを使用して、挿入ポイントの文字書式設定を設定および取得することができます。これは、それ以降に挿入される文字に適用される書式設定です。 たとえば、アプリケーションで既定の文字書式を太字に設定し、ユーザーが文字を入力すると、その文字は太字になります。

挿入ポイントの文字書式設定は、現在の選択が空である場合 (現在の選択が挿入ポイントである場合) に、新しく挿入されるテキストにのみ適用されます。 それ以外の場合は、新しいテキストは、置換対象のテキストの文字書式設定を引き継ぎます。 選択範囲が変更されると、既定の文字書式設定が、新しい選択範囲の最初の文字と一致するように変更されます。

保護された文字の効果は、テキストの外観を変更しないという点で独自性があります。 保護されたテキストをユーザーが変更しようとした場合、親ウィンドウが変更を許可または防止できるように、リッチ エディット コントロールが親ウィンドウに対して EN_PROTECTED 通知コードを送信します。 この通知コードを受信するためには、EM_SETEVENTMASK メッセージを使用して、この通知コードを有効にする必要があります。

前景色は常に文字属性です。 Microsoft Rich Edit 1.0 では、背景色はリッチ エディット コントロールのプロパティの 1 つにすぎません。 既定の背景色を設定するには、EM_SETBKGNDCOLOR メッセージを使用します。 Rich Edit では WM_CTLCOLOREDIT メッセージはサポートされないことに注意してください。

リッチ エディット コントロールの使用

Windows コモン コントロールのデモ (CppWindowsCommonControls)