TextOutW-Funktion (wingdi.h)

Die TextOut-Funktion schreibt eine Zeichenfolge an der angegebenen Position unter Verwendung der aktuell ausgewählten Schriftart, Hintergrundfarbe und Textfarbe.

Syntax

BOOL TextOutW(
  [in] HDC     hdc,
  [in] int     x,
  [in] int     y,
  [in] LPCWSTR lpString,
  [in] int     c
);

Parameter

[in] hdc

Ein Handle für den Gerätekontext.

[in] x

Die x-Koordinate in logischen Koordinaten des Bezugspunkts, den das System zum Ausrichten der Zeichenfolge verwendet.

[in] y

Die y-Koordinate in logischen Koordinaten des Referenzpunkts, den das System zum Ausrichten der Zeichenfolge verwendet.

[in] lpString

Ein Zeiger auf die zu zeichnende Zeichenfolge. Die Zeichenfolge muss nicht mit Null beendet sein, da cchString die Länge der Zeichenfolge angibt.

[in] c

Die Länge der Zeichenfolge , auf die von lpString in Zeichen verwiesen wird.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Hinweise

Die Interpretation des Bezugspunkts hängt vom aktuellen Textausrichtungsmodus ab. Eine Anwendung kann diesen Modus abrufen, indem sie die GetTextAlign-Funktion aufruft. eine Anwendung kann diesen Modus ändern, indem sie die SetTextAlign-Funktion aufruft. Sie können die folgenden Werte für die Textausrichtung verwenden. Es kann nur ein Flag ausgewählt werden, das sich auf die horizontale und vertikale Ausrichtung auswirkt. Darüber hinaus kann nur eines der beiden Flags ausgewählt werden, die die aktuelle Position ändern.

Begriff BESCHREIBUNG
TA_BASELINE Der Referenzpunkt befindet sich in der Basiszeile des Texts.
TA_BOTTOM Der Bezugspunkt befindet sich am unteren Rand des umgebenden Rechtecks.
TA_TOP Der Bezugspunkt befindet sich am oberen Rand des umgebenden Rechtecks.
TA_CENTER Der Bezugspunkt wird horizontal an der Mitte des umgebenden Rechtecks ausgerichtet.
TA_LEFT Der Bezugspunkt befindet sich am linken Rand des umgebenden Rechtecks.
TA_RIGHT Der Bezugspunkt befindet sich am rechten Rand des umgebenden Rechtecks.
TA_NOUPDATECP Die aktuelle Position wird nach jedem Textausgabeaufruf nicht aktualisiert. Der Referenzpunkt wird an die Textausgabefunktion übergeben.
TA_RTLREADING Sprachausgabe "Naher Osten" von Windows: Der Text ist in der Lesereihenfolge von rechts nach links angeordnet, im Gegensatz zur standardmäßigen Reihenfolge von links nach rechts. Dies gilt nur, wenn die im Gerätekontext ausgewählte Schriftart entweder hebräisch oder arabisch ist.
TA_UPDATECP Die aktuelle Position wird nach jedem Textausgabeaufruf aktualisiert. Die aktuelle Position wird als Bezugspunkt verwendet.
 

Standardmäßig wird die aktuelle Position von dieser Funktion nicht verwendet oder aktualisiert. Eine Anwendung kann jedoch die SetTextAlign-Funktion aufrufen, wobei der fMode-Parameter auf TA_UPDATECP festgelegt ist, damit das System die aktuelle Position jedes Mal verwenden und aktualisieren kann, wenn die Anwendung TextOut für einen angegebenen Gerätekontext aufruft. Wenn dieses Flag festgelegt ist, ignoriert das System die Parameter nXStart und nYStart bei nachfolgenden TextOut-Aufrufen .

Wenn die TextOut-Funktion in einer Pfadklammer platziert wird, generiert das System einen Pfad für den TrueType-Text, der jedes Zeichen und sein Zeichenfeld enthält. Der generierte Bereich ist das Zeichenfeld abzüglich des Texts und nicht der Text selbst. Sie können die Region abrufen, die von der Gliederung des TrueType-Texts eingeschlossen ist, indem Sie den Hintergrundmodus auf transparent festlegen, bevor Sie die TextOut-Funktion in der Pfadklammer platzieren. Es folgen Beispielcode, der diese Prozedur veranschaulicht.


// Obtain the window's client rectangle 
GetClientRect(hwnd, &r);

// THE FIX: by setting the background mode 
// to transparent, the region is the text itself 
// SetBkMode(hdc, TRANSPARENT); 

// Bracket begin a path 
BeginPath(hdc);

// Send some text out into the world 
TCHAR text[ ] = "Defenestration can be hazardous";
TextOut(hdc,r.left,r.top,text, ARRAYSIZE(text));

// Bracket end a path 
EndPath(hdc);

// Derive a region from that path 
SelectClipPath(hdc, RGN_AND);

// This generates the same result as SelectClipPath() 
// SelectClipRgn(hdc, PathToRegion(hdc)); 

// Fill the region with grayness 
FillRect(hdc, &r, GetStockObject(GRAY_BRUSH));

Beispiele

Ein Beispiel finden Sie unter Auflisten der installierten Schriftarten.

Hinweis

Der wingdi.h-Header definiert TextOut 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 nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h (einschließlich Windows.h)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

Schriftart- und Textfunktionen

Übersicht über Schriftarten und Text

GetTextAlign

Auswählenobjekt

SetBkColor

SetTextAlign

SetTextColor

TabbedTextOut