Udostępnij za pośrednictwem


Text-Formatting atrybuty

Aplikacja może użyć sześciu funkcji, aby ustawić atrybuty formatowania tekstu dla kontekstu urządzenia: SetBkColor, SetBkMode, SetTextAlign, SetTextCharacterExtra, SetTextColori SetTextJustification. Te funkcje mają wpływ na wyrównanie tekstu, odstęp międzytypowy, uzasadnienie tekstu oraz kolory tekstu i tła. Ponadto do pobierania bieżących atrybutów formatowania tekstu dla dowolnego kontekstu urządzenia można użyć sześciu innych funkcji: GetBkColor, GetBkMode, GetTextAlign, GetTextCharacterExtra, GetTextColori GetTextExtentPoint32.

Wyrównanie tekstu

Aplikacje mogą używać funkcji SetTextAlign, aby określić, w jaki sposób system powinien umieścić znaki w ciągu tekstowym podczas wywoływania jednej z funkcji rysunku. Ta funkcja może służyć do umieszczania nagłówków, numerów stron, objaśnień itd. System umieszcza ciąg tekstu przez wyrównanie punktu odniesienia do wyimaginowanego prostokąta otaczającego ciąg z bieżącym położeniem kursora lub punktem przekazywanym jako argument do jednej z funkcji rysunku tekstu. Funkcja SetTextAlign umożliwia aplikacji określenie lokalizacji tego punktu odniesienia. Poniżej znajduje się lista możliwych lokalizacji punktu odniesienia.

Lokalizacja Opis
lewy/dolny Punkt odniesienia znajduje się w lewym dolnym rogu prostokąta.
lewa/linia podstawowa Punkt odniesienia znajduje się na przecięciu linii bazowej komórki znakowej i lewej krawędzi prostokąta.
lewy/górny Punkt odniesienia znajduje się w lewym górnym rogu prostokąta.
środek/dół Punkt odniesienia znajduje się w środku dolnej części prostokąta.
linia środkowa/podstawowa Punkt odniesienia znajduje się na przecięciu linii bazowej komórki znakowej i środka prostokąta.
środek/góra Punkt odniesienia znajduje się w środku górnego prostokąta.
w prawo lub u dołu Punkt odniesienia znajduje się w prawym dolnym rogu prostokąta.
linia prawa/podstawowa Punkt odniesienia znajduje się na przecięciu linii bazowej komórki znakowej i prawej krawędzi prostokąta.
w prawo/u góry Punkt odniesienia znajduje się w prawym górnym rogu prostokąta.

 

Poniższa ilustracja przedstawia ciąg tekstu rysowany przez wywołanie funkcji TextOut. Przed narysowania tekstu funkcja SetTextAlign została wywołana w celu przeniesienia punktu odniesienia w każdej z dziewięciu możliwych lokalizacji.

ilustracja przedstawiająca ten sam tekst dziewięć razy, jeden dla każdej możliwej lokalizacji punktu odniesienia

Domyślne wyrównanie tekstu dla kontekstu urządzenia to lewy górny róg wyimaginowanego prostokąta otaczającego tekst. Aplikacja może pobrać bieżące ustawienie wyrównania tekstu dla dowolnego kontekstu urządzenia, wywołując funkcję GetTextAlign.

Odstępy między znakami

Aplikacje mogą używać funkcji SetTextCharacterExtra, aby zmienić odstęp międzycharakterowy dla wszystkich operacji wyjściowych tekstu w określonym kontekście urządzenia. Poniższa ilustracja przedstawia ciąg tekstu rysowany dwukrotnie przez wywołanie funkcji TextOut. Przed narysowaniem tekstu po raz drugi funkcjaSetTextCharacterExtra została wywołana, aby zwiększać odstęp międzycharakterowy.

ilustracja pokazująca ten sam tekst dwukrotnie: najpierw z normalnym odstępem międzyznakowym, a następnie z szerszym odstępem

Domyślna wartość odstępu międzycharakterowego dla dowolnego kontekstu urządzenia to zero. Aplikacja może pobrać bieżącą wartość odstępu międzycharakcyjnego dla kontekstu urządzenia, wywołując funkcję GetTextCharacterExtra.

Uzasadnienie tekstowe

Aplikacje mogą używać funkcji GetTextExtentPoint32 i SetTextJustification, aby uzasadnić wiersz tekstu. Wyrównywanie tekstu jest częstą operacją w dowolnej publikacji komputerowej i w większości edytorów tekstu. Funkcja GetTextExtentPoint32 oblicza szerokość i wysokość ciągu tekstu. Po obliczeniu szerokości aplikacja może wywołać funkcję SetTextJustification, aby rozdzielić dodatkowe odstępy między poszczególnymi wyrazami w wierszu tekstu. Poniższa ilustracja przedstawia dwukrotnie wydrukowany akapit tekstu: w pierwszym akapicie tekst nie był uzasadniony; w drugim akapicie tekst był uzasadniony przez wywołanie funkcji GetTextExtentPoint32 i SetTextJustification.

ilustracja przedstawiająca akapit wyrównany tylko po lewej stronie, a następnie ten sam akapit wyrównany zarówno do lewej, jak i do prawej

Tekst i kolor tła

Aplikacje mogą używać funkcji SetTextColor, aby ustawiać kolor tekstu wyświetlanego w obszarze klienta okien, a także kolor tekstu drukowanego na drukarce kolorowej. Aplikacja może użyć funkcji SetBkColor, aby ustawić kolor, który pojawia się za każdym znakiem, oraz funkcji SetBkMode, aby określić, jak system powinien mieszać wybrany kolor tła z bieżącym kolorem lub kolorami na ekranie.

Domyślny kolor tekstu dla kontekstu urządzenia wyświetlającego to czarny; domyślny kolor tła to biały; a domyślnym trybem tła jest KRYJĄCY. Aplikacja może pobrać bieżący kolor tekstu dla kontekstu urządzenia, wywołując funkcję GetTextColor. Aplikacja może pobrać bieżący kolor tła kontekstu urządzenia, wywołując funkcję GetBkColor i bieżący tryb tła, wywołując funkcję GetBkMode.