Freigeben über


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 den angegebenen Tabstopps. 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-Zählung und für die Unicode-Funktion ist sie eine WORD-Anzahl. Beachten Sie, dass für die ANSI-Funktion Zeichen in SBCS-Codeseiten jeweils ein Byte verwendet werden, während die meisten Zeichen in DBCS-Codeseiten zwei Byte beanspruchen; für die Unicode-Funktion sind die derzeit definierten Unicode-Zeichen (die im Basic Multilingual Plane (BMP)) ein WORT sind, während Unicode-Surrogate zwei WORDs sind.

[in] nTabPositions

Die Anzahl der Tabstopppositionen im Array, auf die durch den lpnTabStopPositions Parameter verwiesen wird.

[in] lpnTabStopPositions

Ein Zeiger auf ein Array, das die Tabstopppositionen enthält, in Geräteeinheiten. 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, ist der Rückgabewert die Dimensionen der Zeichenfolge in logischen Einheiten. Die Höhe befindet sich im Wort mit hoher Reihenfolge, und die Breite befindet sich im Wort mit niedriger Reihenfolge.

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

Bemerkungen

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 kernieren 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 ist und der parameter lpnTabStopPositions parameter NULList, werden Tabstopps um acht mal die durchschnittliche Zeichenbreite erweitert.

Wenn nTabPositions- 1 ist, werden die Tabstopps durch den Abstand getrennt, der durch den ersten Wert im Array angegeben wird, zu dem lpnTabStopPositions Punkte.

Anmerkung

Der winuser.h-Header definiert GetTabbedTextExtent als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winuser.h (enthalten Windows.h)
Library User32.lib
DLL- User32.dll

Siehe auch

Schriftart- und Textfunktionen

Schriftarten und Textübersicht

GetTextExtentPoint32-

TabbedTextOut-