GetTabbedTextExtentA-Funktion (winuser.h)

Die GetTabbedTextExtent-Funktion berechnet die Breite und Höhe einer Zeichenfolge. Wenn die Zeichenfolge mindestens ein Tabstoppzeichen enthält, basiert die Breite der Zeichenfolge auf dem angegebenen Tabstopp. Die GetTabbedTextExtent-Funktion verwendet die aktuell ausgewählte Schriftart, um die Dimensionen der Zeichenfolge zu berechnen.

Syntax

DWORD GetTabbedTextExtentA(
  [in] HDC       hdc,
  [in] LPCSTR    lpString,
  [in] int       chCount,
  [in] int       nTabPositions,
  [in] const INT *lpnTabStopPositions
);

Parameter

[in] hdc

Ein Handle für den Gerätekontext.

[in] lpString

Ein Zeiger auf eine Zeichenfolge.

[in] chCount

Die Länge der Textzeichenfolge. Für die ANSI-Funktion handelt es sich um eine BYTE-Anzahl und für die Unicode-Funktion um eine WORD-Anzahl. Beachten Sie, dass für die ANSI-Funktion zeichen in SBCS-Codepages jeweils ein Byte verwendet werden, während die meisten Zeichen in DBCS-Codepages zwei Bytes umfassen. für die Unicode-Funktion sind die meisten derzeit definierten Unicode-Zeichen (die in der basic Multilingual Plane (BMP)) ein WORD, während Unicode-Ersatzzeichen zwei WORDs sind.

[in] nTabPositions

Die Anzahl der Tabstopppositionen im Array, auf das der lpnTabStopPositions-Parameter verweist.

[in] lpnTabStopPositions

Ein Zeiger auf ein Array, das die Tabstopppositionen in Geräteeinheiten enthält. Die Tabstopps müssen in zunehmender Reihenfolge sortiert werden. Der kleinste x-Wert sollte das erste Element im Array sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, entspricht der Rückgabewert den Dimensionen der Zeichenfolge in logischen Einheiten. Die Höhe ist das Wort in hoher Reihenfolge, und die Breite ist das Wort mit niedriger Ordnung.

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0. GetTabbedTextExtent schlägt fehl, wenn hDC ungültig ist und wenn nTabPositions kleiner als 0 ist.

Hinweise

Der aktuelle Clippingbereich wirkt sich nicht auf die Breite und Höhe aus, die von der GetTabbedTextExtent-Funktion zurückgegeben wird.

Da einige Geräte keine Zeichen in regulären Zellarrays platzieren (d. h., sie kernen die Zeichen), ist die Summe der Ausdehnungen der Zeichen in einer Zeichenfolge möglicherweise nicht gleich dem Umfang der Zeichenfolge.

Wenn der nTabPositions-Parameter null und der lpnTabStopPositions-ParameterNULL ist, werden Registerkarten auf das Achtfache der durchschnittlichen Zeichenbreite erweitert.

Wenn nTabPositions den Wert 1 aufweist, werden die Tabstopps durch den Abstand getrennt, der durch den ersten Wert im Array angegeben wird, auf das lpnTabStopPositions verweist.

Hinweis

Der winuser.h-Header definiert GetTabbedTextExtent als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (windows.h einschließen)
Bibliothek User32.lib
DLL User32.dll

Weitere Informationen

Schriftart- und Textfunktionen

Übersicht über Schriftarten und Text

GetTextExtentPoint32

TabbedTextOut