Freigeben über


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.
Wenn diese Funktion den Textumfang zurückgibt, wird davon ausgegangen, dass der Text horizontal ist, d. h., dass die Escapezeichen immer 0 sind. Dies gilt sowohl für die horizontale als auch für die vertikale Größe des Texts. Auch wenn Sie eine Schriftart verwenden, die ein Nichtzero-Escapement angibt, verwendet diese Funktion nicht den Winkel, während der Textumfang berechnet wird. Die App muss sie explizit konvertieren. Wenn der Grafikmodus jedoch auf GM_ADVANCED festgelegt ist und die Zeichenausrichtung 90 Grad von der Druckausrichtung beträgt, folgen die von dieser Funktion zurückgegebenen Werte nicht dieser Regel. Wenn die Zeichenausrichtung und die Druckausrichtung für eine bestimmte Zeichenfolge übereinstimmen, gibt diese Funktion die Dimensionen der Zeichenfolge in der SIZE Struktur als { cx : 116, cy : 18 } zurück. Wenn die Zeichenausrichtung und die Druckausrichtung für dieselbe Zeichenfolge 90 Grad auseinander liegen, gibt diese Funktion die Abmessungen der Zeichenfolge in der SIZE Struktur als { cx : 18, cy : 116 } zurück.

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

ExtTextOut-

Schriftart- und Textfunktionen

Schriftarten und Textübersicht

GRÖßE

SetTextCharacterExtra

SetTextJustification