GetTextExtentPoint32W-Funktion (wingdi.h)
Die GetTextExtentPoint32--Funktion berechnet die Breite und Höhe der angegebenen Textzeichenfolge.
Syntax
BOOL GetTextExtentPoint32W(
[in] HDC hdc,
[in] LPCWSTR lpString,
[in] int c,
[out] LPSIZE psizl
);
Parameter
[in] hdc
Ein Handle für den Gerätekontext.
[in] lpString
Ein Zeiger auf einen Puffer, der die Textzeichenfolge angibt. Die Zeichenfolge muss nicht null beendet werden, da der c-Parameter die Länge der Zeichenfolge angibt.
[in] c
Die Länge der Zeichenfolge, auf die durch lpString-verweist.
[out] psizl
Ein Zeiger auf eine SIZE Struktur, die die Dimensionen der Zeichenfolge in logischen Einheiten empfängt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null.
Bemerkungen
Die GetTextExtentPoint32--Funktion verwendet die aktuell ausgewählte Schriftart, um die Dimensionen der Zeichenfolge zu berechnen. Die Breite und Höhe in logischen Einheiten werden berechnet, ohne Ausschnitte in Betracht zu ziehen.
Da einige Geräte Kernzeichen enthalten, ist die Summe der Ausdehnungen der Zeichen in einer Zeichenfolge möglicherweise nicht gleich dem Umfang der Zeichenfolge.
Die berechnete Zeichenfolgenbreite berücksichtigt den intercharacter Abstand, der durch die SetTextCharacterExtra-Funktion und die begründung durch SetTextJustificationfestgelegt wird. Dies gilt sowohl für die Anzeige auf einem Bildschirm als auch für den Druck. Wenn lpDx- jedoch in ExtTextOut-festgelegt ist, berücksichtigt GetTextExtentPoint32- weder intercharacter Abstand noch Begründung. Darüber hinaus berücksichtigt das Druckergebnis für EMF immer den intercharacteren Abstand und die Begründung.
Bei der Verwendung von Text, der auf einem Bildschirm angezeigt wird, berücksichtigt die berechnete Zeichenfolgenbreite den intercharacter Abstand, der von der SetTextCharacterExtra-Funktion und der Begründung durch SetTextJustificationfestgelegt wird. Wenn lpDx- jedoch in ExtTextOut-festgelegt ist, berücksichtigt GetTextExtentPoint32- weder intercharacter Abstand noch Begründung. Beim Drucken mit EMF:
- Das Druckergebnis ignoriert den Intercharacter-Abstand, obwohl GetTextExtentPoint32- es berücksichtigt.
- Das Druckergebnis berücksichtigt die Begründung, obwohl GetTextExtentPoint32 sie ignoriert.
GetTextExtentPoint32- berücksichtigt nicht "\n" (neue Zeile) oder "\r\n" (Wagenrücklauf und neue Zeile), wenn die Höhe einer Textzeichenfolge berechnet wird.
Beispiele
Ein Beispiel finden Sie unter Zeichnen von Text aus verschiedenen Schriftarten in derselben Zeile.
Anmerkung
The wingdi.h header defines GetTextExtentPoint32 as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. 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- | wingdi.h (enthalten Windows.h) |
Library | Gdi32.lib |
DLL- | Gdi32.dll |
Siehe auch
Schriftart- und Textfunktionen