SetTextJustification 関数 (wingdi.h)
SetTextJustification 関数は、文字列の区切り文字にシステムが追加する必要がある領域の量を指定します。 スペースは、アプリケーションが TextOut または ExtTextOut 関数を呼び出すときに追加されます。
構文
BOOL SetTextJustification(
[in] HDC hdc,
[in] int extra,
[in] int count
);
パラメーター
[in] hdc
デバイス コンテキストへのハンドル。
[in] extra
テキスト行に追加する余分なスペースの合計 (論理単位)。 現在のマッピング モードがMM_TEXTされていない場合は、 nBreakExtra パラメーターで識別される値が変換され、最も近いピクセルに丸められます。
[in] count
行内の区切り文字の数。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。
解説
通常、区切り文字はスペース文字 (ASCII 32) ですが、フォントによって他の文字として定義される場合があります。 GetTextMetrics 関数を使用して、フォントの区切り文字を取得できます。
TextOut 関数は、指定した余分なスペースを行の区切り文字間で均等に分散します。
GetTextExtentPoint32 関数は常に SetTextJustification 関数と共に使用されます。 GetTextExtentPoint32 関数は、理由の前に指定された行の幅を計算するときに正当な理由を考慮する場合があり、そうでない場合もあります。 この詳細については、「 GetTextExtentPoint32」を参照してください。 この幅は、適切な nBreakExtra 値を計算する前に確認する必要があります。
SetTextJustification を使用すると、異なるフォントの複数の文字列を含む行を両端揃えできます。 この場合、各文字列は個別に両端揃えする必要があります。
丸めエラーは理由の間に発生する可能性があるため、システムは現在のエラー値を定義する実行中のエラー用語を保持します。 複数の実行を含む行を正当化すると、 GetTextExtentPoint は次の実行の範囲を計算するときにこのエラー用語を自動的に使用し、 TextOut でエラーを新しい実行にブレンドできるようにします。 各行が両端揃えになった後、このエラー用語をクリアして、次の行に組み込まれないようにする必要があります。 この用語は、nBreakExtra を 0 に設定して SetTextJustification を呼び出すことでクリアできます。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wingdi.h (Windows.h を含む) |
Library | Gdi32.lib |
[DLL] | Gdi32.dll |