Freigeben über


Text-Formatting Attribute

Eine Anwendung kann sechs Funktionen verwenden, um die Textformatierungsattribute für einen Gerätekontext festzulegen: SetBkColor, SetBkMode, SetTextAlign, SetTextCharacterExtra, SetTextColor und SetTextJustification. Diese Funktionen wirken sich auf die Textausrichtung, den Interzeichenabstand, die Textausrichtung sowie die Text- und Hintergrundfarben aus. Darüber hinaus können sechs weitere Funktionen verwendet werden, um die aktuellen Textformatierungsattribute für jeden Gerätekontext abzurufen: GetBkColor, GetBkMode, GetTextAlign, GetTextCharacterExtra, GetTextColor und GetTextExtentPoint32.

Textausrichtung

Anwendungen können die SetTextAlign-Funktion verwenden, um anzugeben, wie das System die Zeichen in einer Textzeichenfolge positionieren soll, wenn sie eine der Zeichnungsfunktionen aufrufen. Diese Funktion kann verwendet werden, um Überschriften, Seitenzahlen, Legenden usw. zu positionieren. Das System positioniert eine Textzeichenfolge, indem ein Verweispunkt an einem imaginären Rechteck ausgerichtet wird, das die Zeichenfolge umgibt, mit der aktuellen Cursorposition oder mit einem Punkt, der als Argument an eine der Textzeichnungsfunktionen übergeben wird. Mit der SetTextAlign-Funktion kann die Anwendung den Speicherort dieses Referenzpunkts angeben. Im Folgenden finden Sie eine Liste der möglichen Referenzpunktstandorte.

Position BESCHREIBUNG
links/unten Der Bezugspunkt befindet sich in der unteren linken Ecke des Rechtecks.
Linke/Basislinie Der Bezugspunkt befindet sich an der Schnittmenge der Zeichenzellenbasislinie und am linken Rand des Rechtecks.
links/oben Der Bezugspunkt befindet sich in der oberen linken Ecke des Rechtecks.
mitte/unten Der Bezugspunkt befindet sich in der Mitte des unteren Bereichs des Rechtecks.
Mittel-/Basislinie Der Bezugspunkt befindet sich an der Schnittmenge der Zeichenzellenbasislinie und der Mitte des Rechtecks.
mitte/oben Der Bezugspunkt befindet sich in der Mitte des oberen Bereichs des Rechtecks.
rechts/unten Der Bezugspunkt befindet sich in der unteren rechten Ecke des Rechtecks.
Rechts/Basislinie Der Bezugspunkt befindet sich am Schnittpunkt der Zeichenzellenbasislinie und am rechten Rand des Rechtecks.
rechts/oben Der Bezugspunkt befindet sich in der oberen rechten Ecke des Rechtecks.

 

Die folgende Abbildung zeigt eine Textzeichenfolge, die durch Aufrufen der TextOut-Funktion gezeichnet wird. Vor dem Zeichnen des Texts wurde die SetTextAlign-Funktion aufgerufen, um den Verweispunkt an jede der neun möglichen Positionen zu verschieben.

Abbildung, die denselben Text neunmal zeigt, eine für jede mögliche Referenzpunktposition

Die Standardtextausrichtung für einen Gerätekontext ist die obere linke Ecke des imaginären Rechtecks, das den Text umgibt. Eine Anwendung kann die aktuelle Textausrichtungseinstellung für jeden Gerätekontext abrufen, indem sie die GetTextAlign-Funktion aufruft .

Interzeichenabstand

Anwendungen können die SetTextCharacterExtra-Funktion verwenden, um den Interzeichenabstand für alle Textausgabevorgänge in einem angegebenen Gerätekontext zu ändern. Die folgende Abbildung zeigt eine Zeichenfolge mit Text, die zweimal durch Aufrufen der TextOut-Funktion gezeichnet wird. Vor dem zweiten Zeichnen des Texts wurde die SetTextCharacterExtra-Funktion aufgerufen, um den Interzeichenabstand zu erhöhen.

Abbildung, die denselben Text zweimal einbindet: zuerst mit normalem Interzeichenabstand, dann mit größerem Abstand

Der Standardwert für den Interzeichenabstand für jeden Gerätekontext ist 0 (null). Eine Anwendung kann den aktuellen Interzeichenabstandswert für einen Gerätekontext abrufen, indem die GetTextCharacterExtra-Funktion aufgerufen wird .

Textbegründung

Anwendungen können die Funktionen GetTextExtentPoint32 und SetTextJustification verwenden, um eine Textzeile zu rechtfertigen. Die Textausrichtung ist ein gängiger Vorgang bei jeder Desktopveröffentlichung und in den meisten Textverarbeitungsanwendungen. Die GetTextExtentPoint32-Funktion berechnet die Breite und Höhe einer Textzeichenfolge. Nachdem die Breite berechnet wurde, kann die Anwendung die SetTextJustification-Funktion aufrufen, um zusätzlichen Abstand zwischen den einzelnen Wörtern in einer Textzeile zu verteilen. Die folgende Abbildung zeigt einen Absatz mit Text, der zweimal gedruckt wurde: Im ersten Absatz war der Text nicht gerechtfertigt; im zweiten Absatz wurde der Text durch Aufrufen der Funktionen GetTextExtentPoint32 und SetTextJustification begründet.

Abbildung eines Absatzes, der nur links ausgerichtet ist, dann derselbe Absatz links und rechts ausgerichtet

Text- und Hintergrundfarbe

Anwendungen können die SetTextColor-Funktion verwenden, um die Farbe des im Clientbereich ihrer Fenster gezeichneten Texts sowie die Farbe des auf einem Farbdrucker gezeichneten Texts festzulegen. Eine Anwendung kann die SetBkColor-Funktion verwenden, um die Farbe festzulegen, die hinter jedem Zeichen angezeigt wird, und die SetBkMode-Funktion , um anzugeben, wie das System die ausgewählte Hintergrundfarbe mit der aktuellen Farbe oder den aktuellen Farben auf der Videoanzeige mischen soll.

Die Standardtextfarbe für den Kontext eines Anzeigegeräts ist Schwarz. Die Standardhintergrundfarbe ist Weiß. und der Standardhintergrundmodus ist OPAQUE. Eine Anwendung kann die aktuelle Textfarbe für einen Gerätekontext abrufen, indem sie die GetTextColor-Funktion aufruft. Eine Anwendung kann die aktuelle Hintergrundfarbe für einen Gerätekontext abrufen, indem sie die GetBkColor-Funktion und den aktuellen Hintergrundmodus durch Aufrufen der GetBkMode-Funktion aufruft .