StringFormatFlags-Enumeration (gdiplusenums.h)

Die StringFormatFlags-Enumeration gibt Textlayoutinformationen (z. B. Ausrichtung und Beschneidung) und Anzeigemanipulationen an (z. B. Einfügung der Auslassungspunkte, Ersetzung von Ziffern und Darstellung von Zeichen, die von einer Schriftart nicht unterstützt werden).

Syntax

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

Konstanten

 
StringFormatFlagsDirectionRightToLeft
Wert: 0x00000001
Gibt an, dass die Lesereihenfolge von rechts nach links liegt. Bei horizontalem Text werden Zeichen von rechts nach links gelesen. Bei vertikalem Text werden Spalten von rechts nach links gelesen. Standardmäßig wird horizontaler oder vertikaler Text von links nach rechts gelesen.
StringFormatFlagsDirectionVertical
Wert: 0x00000002
Gibt an, dass einzelne Textzeilen vertikal auf dem Anzeigegerät gezeichnet werden. Standardmäßig sind Textzeilen horizontal, jede neue Zeile unterhalb der vorherigen Zeile.
StringFormatFlagsNoFitBlackBox
Wert: 0x00000004
Gibt an, dass Zeichenteile das Layoutrechteck der Zeichenfolge überhängen dürfen. Standardmäßig werden Zeichen zuerst innerhalb der Grenzen des Rechtecks ausgerichtet, dann werden alle Zeichen, die die Grenzen überhängen, neu positioniert, um überhängende Zeichen zu vermeiden, um überhängende Pixel außerhalb des Layoutrechtecks zu vermeiden. Ein kursiv geschriebener Kleinbuchstaben F (f) ist ein Beispiel für ein Zeichen, das überhängende Teile aufweisen kann. Durch Das Festlegen dieses Flags wird sichergestellt, dass das Zeichen visuell an den Zeilen oberhalb und unten ausgerichtet wird, kann jedoch dazu führen, dass Teile von Zeichen, die außerhalb des Layoutrechtecks liegen, abgeschnitten oder gemalt werden.
StringFormatFlagsDisplayFormatControl
Wert: 0x00000020
Gibt an, dass Unicode-Layoutsteuerelementzeichen mit einem repräsentativen Zeichen angezeigt werden.
StringFormatFlagsNoFontFallback
Wert: 0x00000400
Gibt an, dass eine alternative Schriftart für Zeichen verwendet wird, die in der angeforderten Schriftart nicht unterstützt werden. Standardmäßig werden alle fehlenden Zeichen mit dem Zeichen "Schriftarten fehlen" angezeigt, in der Regel ein offenes Quadrat.
StringFormatFlagsMeasureTrailingSpaces
Wert: 0x00000800
Gibt an, dass der Leerraum am Ende jeder Zeile in einer Zeichenfolgenmessung enthalten ist. Standardmäßig wird das von der zurückgegebene Begrenzungsrechteck
Die Graphics::MeasureString-Methode schließt den Leerraum am Ende jeder Zeile aus. Legen Sie dieses Flag so fest, dass dieser Raum in die Messung einbezogen wird.
StringFormatFlagsNoWrap
Wert: 0x00001000
Gibt an, dass das Umschließen von Text in die nächste Zeile deaktiviert ist. NoWrap wird impliziert, wenn anstelle eines Layoutrechtecks ein Ursprungspunkt verwendet wird. Beim Zeichnen von Text innerhalb eines Rechtecks wird text standardmäßig an der letzten Wortgrenze unterbrochen, die sich innerhalb der Begrenzung des Rechtecks befindet und in die nächste Zeile umschlossen wird.
StringFormatFlagsLineLimit
Wert: 0x00002000
Gibt an, dass nur ganze Linien im Layoutrechteck angeordnet sind. Standardmäßig wird das Layout bis zum Ende des Texts fortgesetzt oder bis keine weiteren Zeilen als Folge des Abschneidens sichtbar sind, je nachdem, was zuerst kommt. Die Standardeinstellungen ermöglichen es, dass die letzte Zeile teilweise durch ein Layoutrechteck verdeckt wird, das kein ganzes Vielfaches der Zeilenhöhe ist. Um sicherzustellen, dass nur ganze Linien angezeigt werden, legen Sie dieses Flag fest, und achten Sie darauf, ein Layoutrechteck bereitzustellen, das mindestens so hoch ist wie die Höhe einer Linie.
StringFormatFlagsNoClip
Wert: 0x00004000
Gibt an, dass Zeichen, die das Layoutrechteck überhängen, und Text, der sich außerhalb des Layoutrechtecks erstreckt, angezeigt werden dürfen. Standardmäßig werden alle überhängenden Zeichen und Texte, die sich außerhalb des Layoutrechtecks erstrecken, abgeschnitten. Alle nachfolgenden Leerzeichen (Leerzeichen, die sich am Ende einer Zeile befinden), die sich außerhalb des Layoutrechtecks erstrecken, werden abgeschnitten. Daher wirkt sich die Einstellung dieses Flags auf eine Zeichenfolgenmessung aus, wenn nachfolgende Leerzeichen in die Messung einbezogen werden. Wenn das Clipping aktiviert ist, werden nachgestellte Leerzeichen, die sich außerhalb des Layoutrechtecks erstrecken, nicht in die Messung einbezogen. Wenn das Ausschneiden deaktiviert ist, werden alle nachfolgenden Leerzeichen in die Messung einbezogen, unabhängig davon, ob sie sich außerhalb des Layoutrechtecks befinden.
StringFormatFlagsBypassGDI
Wert: 0x80000000

Hinweise

Mehrere Flags, die festgelegt sind, können kombinierte Effekte erzeugen:

  • Wenn sowohl StringFormatFlagsDirectionVertical als auch StringFormatFlagsDirectionRightToLeft festgelegt sind, werden einzelne Textzeilen vertikal gezeichnet. Die erste Zeile beginnt am rechten Rand des Layoutrechtecks; Die zweite Textzeile befindet sich links von der ersten Zeile usw.
  • Wenn StringFormatFlagsDirectionVertical festgelegt und StringFormatFlagsDirectionRightToLeft nicht festgelegt ist, werden einzelne Textzeilen vertikal gezeichnet. Die erste Zeile beginnt am linken Rand des Layoutrechtecks; die zweite Textzeile befindet sich rechts neben der ersten Zeile.
  • Wenn StringFormatFlagsDirectionRightToLeft festgelegt und StringFormatFlagsDirectionVertical nicht festgelegt ist, sind die einzelnen Textzeilen horizontal und die Lesereihenfolge von rechts nach links. Diese Einstellung ändert nicht die Reihenfolge, in der Zeichen angezeigt werden, sondern gibt einfach die Reihenfolge an, in der Zeichen gelesen werden können.
Die Flags StringFormatFlagsDirectionVertical und StringFormatFlagsDirectionRightToLeft können die Zeichenfolgenausrichtung beeinflussen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile gdiplusenums.h (include Gdiplus.h)

Weitere Informationen

DrawString-Methoden

Formatieren von Text

MeasureString-Methoden

StringAlignment

StringDigitSubstitute

StringFormat::SetFormatFlags

Stringtrimming