値の書式設定
このセクションでは、DrawThemeText 関数と GetThemeTextExtent 関数の dwTextFlags パラメーターで使用する値を一覧します。 これらの値の 1 つ以上を使用して、テキスト文字列の書式設定方法を指定します。 DrawThemeText 関数は、pRect パラメーターで指定された表示矩形内にテキスト文字列を描画します。 GetThemeTextExtent 関数を使用すると、指定した長さと形式のテキストに必要な外接矩形を決定できます。
値の書式設定
次の表に、形式値を示します。
Value | 説明 |
---|---|
DT_BOTTOM | 表示矩形の下部にテキスト文字列をレンダリングします。 この値は、DT_SINGLELINE 値でのみ使用されます。 |
DT_CALCRECT | 表示する矩形の幅と高さを指定します。 |
DT_CENTER | 表示矩形内にテキストを水平方向に中央ぞろえします。 |
DT_EDITCONTROL | 複数行編集コントロールのテキスト表示特性を複製します。 具体的には、平均文字幅は編集コントロールの場合と同じ方法で計算され、関数は部分的に表示される最後の行を表示しません。 |
DT_END_ELLIPSIS | 表示する矩形よりも広いテキスト文字列を切り取り、切り取りを示す省略記号を追加します。 DT_MODIFYSTRING フラグが指定されていない限り、文字列は変更されません。 |
DT_EXPANDTABS | タブ文字を展開します。 タブあたりの既定の文字数は 8 文字です。 DT_WORD_ELLIPSIS、DT_PATH_ELLIPSIS および DT_END_ELLIPSIS 値は、DT_EXPANDTABS 値と併用できません。 |
DT_EXTERNALLEADING | フォントの外部先頭を行の高さに含めます。 通常、外部先頭はテキスト行の高さに含まれません。 |
DT_HIDEPREFIX | テキスト内のプレフィックス文字 & を無視します。 次の文字は下線付きではありませんが、他のプレフィックス文字は引き続き処理されます。 次に例を示します。 入力文字列: "A&bc&&d" 通常: "Abc&d" DT_HIDEPREFIX: "Abc&d" |
DT_LEFT | テキストを左端に揃えます。 |
DT_MODIFYSTRING | 表示されるテキストと一致するように文字列を変更します。 DT_END_ELLIPSIS または DT_PATH_ELLIPSIS が指定されていない限り、この値は無効です。 |
DT_NOCLIP | 表示矩形をクリッピングせずにテキスト文字列を描画します。 |
DT_NOFULLWIDTHCHARBREAK | 2 バイト文字セット (DBCS) での改行を防ぎ、改行規則が 1 バイト文字セット (SBCS) と同等になるようにします。 これは、たとえば、韓国語テキストで書かれたアイコン ラベルを読みやすくするために使用できます。 この値は、DT_WORDBREAK が指定されていない限り無効です。 |
DT_NOPREFIX | プレフィックス文字の処理をオフにします。 通常、DrawThemeText はプレフィックス文字 & を指示として解釈し、後に続く文字に下線を付け、プレフィックス文字 && をシングル & を印刷する指示として解釈します。 DT_NOPREFIX を指定すると、この処理はオフになります。 次に例を示します。 入力文字列: "A&bc&&d" 通常: "Abc&d" DT_NOPREFIX: "A&bc&&d" |
DT_PATH_ELLIPSIS | 結果が表示矩形に収まるように、テキストの中央の文字を省略記号に置き換えます。 文字列にバックスラッシュ (\) 文字が含まれている場合、DT_PATH_ELLIPSIS は最後のバックスラッシュの後のテキストをできるだけ保持します。 DT_MODIFYSTRING フラグが指定されていない限り、文字列は変更されません。 |
DT_PREFIXONLY | プレフィックス文字 & の後の文字の位置に下線のみを描画します。 通常、DrawThemeText は、& を指示として解釈し、後に続く文字に下線を付け、プレフィックス文字 && をシングル & を印刷する指示として解釈します。 DT_PREFIXONLY を指定すると、文字は描画されません。下線のみが表示されます。 空白は、文字が通常表示される位置に配置されます。 例: 入力文字列: "A&bc&&d" 通常: "Abc&d DT_PREFIXONLY: " " |
DT_RIGHT | テキストを右端に揃えます。 |
DT_RTLREADING | ヘブライ語またはアラビア語のフォントのテキストなど、双方向テキストのテキストを右から左の順序でレイアウトします。 テキストの既定の方向は左から右です。 |
DT_SINGLELINE | 1 行にテキストを表示します。 キャリッジ リターンとライン フィードは行を改行しません。 |
DT_TABSTOP | タブ ストップを設定します。 |
DT_TOP | 表示矩形の上部にテキストをレンダリングします。 |
DT_VCENTER | テキストを垂直方向に中央揃えします。 この値は、DT_SINGLELINE 値でのみ使用されます。 |
DT_WORDBREAK | 単語が表示矩形の端からはみ出る場合は、単語の間で改行します。 キャリッジ リターン/ライン フィード (CR/LF) シーケンスも改行します。 |
DT_WORD_ELLIPSIS | 表示矩形に収まらない単語を切り取り、省略記号を追加します。 |