CDC::SetTextJustification
文字列内のブレーク文字にスペースを追加します。
int SetTextJustification(
int nBreakExtra,
int nBreakCount
);
パラメーター
nBreakExtra
テキスト行に追加される合計にスペースを指定します (論理単位で)。 現在のマップ モードが MM_TEXTでない場合、このパラメーターによって指定された値が、現在のマップ モードに変換され、最も近いデバイス単位に丸められます。nBreakCount
行に改行文字の数を指定します。
戻り値
関数が正常に終了した場合は 1 つ; それ以外の場合は 0。
解説
アプリケーションは、フォントの改行文字を取得するために GetTextMetrics のメンバー関数を使用できます。
SetTextJustification のメンバー関数が呼び出された後、テキスト出力関数の呼び出しは、改行文字の指定した数の内部に TextOutなど) を指定にスペースを均等に配分します。 改行文字は、通常、空白文字 (ASCII 32) になりますが、フォントによって他の文字が定義されている場合があります。
メンバー関数 GetTextExtent は SetTextJustificationで一般に使用されます。 GetTextExtent は、配置前に特定の行の幅を計算します。 アプリケーションは、値を減算して、nBreakExtra のパラメーターに指定すると、返すかの大きさ空間を配置後の文字列の幅から GetTextExtent によって判断できます。
SetTextJustification 関数が異なるフォントで複数の実行を含む行を配置することができます。 この場合、各行は実行を個別に配置すると書き込みでスニペット的に作成する必要があります。
丸め誤差が配置中に発生する可能性があるため、システムは、現在のエラーを定義する実行中のエラーの用語を保持します。 複数の実装を含む行を配置すると、GetTextExtent が自動的に次の実行の程度を計算するときにこのエラーの用語を使用します。 ここでは、テキスト出力関数が新しい実装にエラーを切り替えることができます。
各行が配置されると、このエラーの用語をオフにし、次の行に結合されないようにします。 用語は nBreakExtra の SetTextJustification を呼び出して 0 に設定してオフにできます。
必要条件
ヘッダー: afxwin.h