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