次の方法で共有


Text-Formatting属性

アプリケーションでは、6 つの関数を使用して、デバイス コンテキストのテキスト書式属性 ( SetBkColorSetBkModeSetTextAlignSetTextCharacterExtraSetTextColorSetTextJustification) を設定できます。 これらの関数は、テキストの配置、文字間の間隔、テキストの配置、テキストと背景色に影響します。 さらに、GetBkColor、GetBkModeGetTextAlignGetTextCharacterExtraGetTextColorGetTextExtentPoint32 の 6 つの他の関数を使用して、任意のデバイス コンテキストの現在のテキスト書式設定属性を取得できます。

テキストのアラインメント

アプリケーションでは 、SetTextAlign 関数を使用して、描画関数の 1 つを呼び出すときに文字を文字列に配置する方法を指定できます。 この関数を使用すると、見出し、ページ番号、吹き出しなどを配置できます。 システムは、文字列を囲む虚数の四角形に参照ポイントを配置し、現在のカーソル位置またはテキスト描画関数の 1 つに引数として渡されたポイントを使用して、テキストの文字列を配置します。 SetTextAlign 関数を使用すると、アプリケーションでこの参照ポイントの場所を指定できます。 使用可能な参照ポイントの場所の一覧を次に示します。

場所 説明
left/bottom 参照ポイントは、四角形の左下隅にあります。
left/base line 参照ポイントは、文字セルの基準線と四角形の左端の交点に配置されます。
left/top 参照ポイントは、四角形の左上隅にあります。
center/bottom 参照ポイントは、四角形の下部の中央に配置されます。
中央/基準線 参照ポイントは、文字セルの基準線と四角形の中心の交点に配置されます。
center/top 参照ポイントは、四角形の上部の中央に配置されます。
右/下 参照ポイントは、四角形の右下隅にあります。
right/base line 参照ポイントは、文字セルの基準線と四角形の右端の交点に配置されます。
right/top 参照ポイントは、四角形の右上隅にあります。

 

次の図は、 TextOut 関数を呼び出して描画されたテキストの文字列を示しています。 テキストを描画する前に、 SetTextAlign 関数が呼び出され、9 つの場所のそれぞれに参照ポイントが再配置されました。

同じテキストを 9 回示す図(使用可能な参照ポイントの位置ごとに 1 つ)

デバイス コンテキストの既定のテキスト配置は、テキストを囲む虚数の四角形の左上隅です。 アプリケーションは 、GetTextAlign 関数を呼び出すことによって、任意のデバイス コンテキストの現在のテキスト配置設定を取得できます。

文字間の間隔

アプリケーションでは 、SetTextCharacterExtra 関数を使用して、指定したデバイス コンテキスト内のすべてのテキスト出力操作の文字間間隔を変更できます。 次の図は、 TextOut 関数を呼び出して 2 回描画されるテキストの文字列を示しています。 2 回目にテキストを描画する前に、文字間の間隔を増やすために SetTextCharacterExtra 関数が呼び出されました。

同じテキストを 2 回押す図: 最初に通常の文字間の間隔、次に間隔が広い

デバイス コンテキストの既定の文字間間隔の値は 0 です。 アプリケーションは、 GetTextCharacterExtra 関数を呼び出すことによって、デバイス コンテキストの現在の文字間間隔の値を取得できます。

テキストの揃え

アプリケーションでは 、GetTextExtentPoint32 関数と SetTextJustification 関数を使用して、テキスト行を両端揃えできます。 テキストの正当な理由は、デスクトップ発行やほとんどのワープロ アプリケーションで一般的な操作です。 GetTextExtentPoint32 関数は、文字列の幅と高さを計算します。 幅が計算された後、アプリケーションは SetTextJustification 関数を呼び出して、テキスト行内の各単語間に余分な間隔を分散させることができます。 次の図は、2 回印刷されたテキストの段落を示しています。最初の段落では、テキストは正当化されませんでした。2 番目の段落では、 GetTextExtentPoint32 関数と SetTextJustification 関数を呼び出すことによってテキストが正当化されました。

左にのみ配置された段落を示す図。その後、同じ段落が左右に配置されている

テキストと背景色

アプリケーションでは 、SetTextColor 関数を使用して、ウィンドウのクライアント領域に描画されるテキストの色と、カラー プリンターに描画されるテキストの色を設定できます。 アプリケーションでは 、SetBkColor 関数を使用して、各文字の背後に表示される色を設定し 、SetBkMode 関数を使用して、選択した背景色とビデオディスプレイの現在の色をブレンドする方法を指定できます。

ディスプレイ デバイス コンテキストの既定のテキストの色は黒です。既定の背景色は白です。既定のバックグラウンド モードは OPAQUE です。 アプリケーションは 、GetTextColor 関数を呼び出すことによって、デバイス コンテキストの現在のテキストの色を取得できます。 アプリケーションは、 GetBkColor 関数を呼び出し、 GetBkMode 関数を呼び出すことで、デバイス コンテキストの現在の背景色を取得できます。