StringFormatFlags 列挙 (gdiplusenums.h)

StringFormatFlags 列挙体は、テキスト レイアウト情報 (向きやクリッピングなど) と表示操作 (省略記号の挿入、数字の置換、フォントでサポートされていない文字の表現など) を指定します。

構文

typedef enum StringFormatFlags {
  StringFormatFlagsDirectionRightToLeft = 0x00000001,
  StringFormatFlagsDirectionVertical = 0x00000002,
  StringFormatFlagsNoFitBlackBox = 0x00000004,
  StringFormatFlagsDisplayFormatControl = 0x00000020,
  StringFormatFlagsNoFontFallback = 0x00000400,
  StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
  StringFormatFlagsNoWrap = 0x00001000,
  StringFormatFlagsLineLimit = 0x00002000,
  StringFormatFlagsNoClip = 0x00004000,
  StringFormatFlagsBypassGDI = 0x80000000
} ;

定数

 
StringFormatFlagsDirectionRightToLeft
値: 0x00000001
読み取り順序を右から左に指定します。 水平テキストの場合、文字は右から左に読み取られます。 縦書きのテキストの場合、列は右から左に読み取られます。 既定では、水平方向または垂直方向のテキストは左から右に読み取られます。
StringFormatFlagsDirectionVertical
値: 0x00000002
テキストの個々の行をディスプレイ デバイスに垂直方向に描画することを指定します。 既定では、テキストの行は水平で、各行は前の行の下に配置されます。
StringFormatFlagsNoFitBlackBox
値: 0x00000004
文字列のレイアウト四角形に文字の一部を張り出しを許可することを指定します。 既定では、文字は最初に四角形の境界内に配置され、境界を張り出している文字はすべて再配置され、オーバーハングを回避し、レイアウト四角形の外側のピクセルに影響を与えないようにします。 斜体の小文字 F (f) は、部分が張り出している可能性がある文字の例です。 このフラグを設定すると、文字が上下の行に視覚的に揃えられますが、レイアウト四角形の外側にある文字の一部がクリップまたは描画される可能性があります。
StringFormatFlagsDisplayFormatControl
値: 0x00000020
Unicode レイアウト制御文字を代表的な文字で表示することを指定します。
StringFormatFlagsNoFontFallback
値: 0x00000400
要求されたフォントでサポートされていない文字に代替フォントを使用することを指定します。 既定では、不足している文字はすべて、"フォントがありません" 文字 (通常は開いた四角形) と共に表示されます。
StringFormatFlagsMeasureTrailingSpaces
値: 0x00000800
各行の末尾のスペースを文字列の測定に含めるかどうかを指定します。 既定では、 によって返される境界四角形
Graphics::MeasureString メソッドは、各行の末尾にあるスペースを除外します。 このフラグを設定して、そのスペースを測定に含めます。
StringFormatFlagsNoWrap
値: 0x00001000
次の行へのテキストの折り返しを無効にすることを指定します。 NoWrap は、レイアウト四角形の代わりに原点を使用する場合に暗黙的に指定されます。 四角形内でテキストを描画する場合、既定では、テキストは四角形の境界内にある最後の単語の境界で分割され、次の行に折り返されます。
StringFormatFlagsLineLimit
値: 0x00002000
レイアウト四角形に線全体のみをレイアウトすることを指定します。 既定では、レイアウトはテキストの最後まで、またはクリッピングの結果としてそれ以上行が表示されないまで続行されます。どちらか早い方です。 既定の設定では、行の高さの倍数全体ではないレイアウト四角形によって最後の行が部分的に隠されます。 線全体のみが表示されるようにするには、このフラグを設定し、少なくとも 1 行の高さと同じ高さのレイアウト四角形を指定するように注意してください。
StringFormatFlagsNoClip
値: 0x00004000
レイアウト四角形に張り出す文字と、レイアウト四角形の外側に延びるテキストを表示することを指定します。 既定では、レイアウトの四角形の外側に広がる文字とテキストがすべてクリップされます。 レイアウト四角形の外側に広がる末尾のスペース (行の末尾にあるスペース) はクリップされます。 したがって、末尾のスペースが測定に含まれている場合、このフラグの設定は文字列の測定に影響します。 クリッピングが有効になっている場合、レイアウト四角形の外側に延びる末尾のスペースは測定に含まれません。 クリッピングが無効になっている場合、レイアウト四角形の外側にあるかどうかにかかわらず、末尾のすべてのスペースが測定に含まれます。
StringFormatFlagsBypassGDI
値: 0x80000000

注釈

複数のフラグ セットを使用すると、組み合わせた効果を生成できます。

  • StringFormatFlagsDirectionVerticalStringFormatFlagsDirectionRightToLeft の両方を設定すると、個々のテキスト行が垂直方向に描画されます。 最初の行は、レイアウト四角形の右端から始まります。2 行目のテキストは 1 行目の左側に表示されます。
  • StringFormatFlagsDirectionVertical が設定されていて、StringFormatFlagsDirectionRightToLeft が設定されていない場合、個々のテキスト行が垂直方向に描画されます。 最初の行は、レイアウト四角形の左端から始まります。2 行目のテキストは 1 行目の右側にあります。
  • StringFormatFlagsDirectionRightToLeft が設定されていて、StringFormatFlagsDirectionVertical が設定されていない場合、テキストの個々の行は水平になり、読み取り順序は右から左になります。 この設定では、文字の表示順序は変更されず、文字の読み取り順序を指定するだけです。
StringFormatFlagsDirectionVertical フラグと StringFormatFlagsDirectionRightToLeft フラグは、文字列の配置に影響を与える可能性があります。

要件

要件
サポートされている最小のクライアント Windows XP、Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header gdiplusenums.h (Gdiplus.h を含む)

こちらもご覧ください

DrawString メソッド

テキストの書式設定

MeasureString メソッド

StringAlignment

StringDigitSubstitute

StringFormat::SetFormatFlags

StringTrimming