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