Атрибуты форматирования текста


Приложение может использовать шесть функций, чтобы установить атрибуты форматирования текста для контекста устройства: SetBkColor, SetBkMode, SetTextAlign, SetTextCharacterExtra, SetTextColor и SetTextJustification. Эти функции воздействуют на выравнивание текста, межсимвольный интервал, на выравнивание краев текста и на цвета текста и фона. Кроме того, шесть других функций могут быть использованы для извлечения атрибутов форматирования текущего текста для любого контекста устройства: GetBkColor, GetBkMode, GetTextAlign, GetTextCharacterExtra, GetTextColor и GetTextExtentPoint32.

Выравнивание текста

Прикладные программы могут использовать функцию SetTextAlign, чтобы задать, как система должна расположить символы в строке текста, когда она вызывает одну из функций прорисовки. Эта функция может быть использована для позиционирования заголовков, номеров страниц, выносок, и так далее. Система располагает строку текста, выравнивая контрольную точку на мнимом прямоугольнике, который окружает строку, с текущей позицией курсора или точкой, передаваемой как параметр одного из текстов, рисующей функции. Функция SetTextAlign дает возможность приложению задавать местоположение этой контрольной точки. Ниже следует список возможных положений контрольной точки.

Позиция

Описание

слева/внизу

Контрольная точка размещается в нижнем - левом углу прямоугольника.

слева от линии шрифта

Контрольная точка размещается на пересечении линии шрифта символьного знакоместа и левого края прямоугольника.

слева/вверху

Контрольная точка размещается в верхнем - левом углу прямоугольника.

в центре/внизу

 Контрольная точка размещается в центре основания прямоугольника.

в центре линии шрифта

Контрольная точка размещается на пересечении линии шрифта символьного знакоместа и центра прямоугольника.

в центре/вверху

Контрольная точка размещается в центре верха прямоугольника.

справа/внизу

Контрольная точка размещается в нижнем правом углу прямоугольника.

справа от линии шрифта

Контрольная точка размещается на пересечении линии шрифта символьного знакоместа и правого края прямоугольника.

справа/вверху

Контрольная точка размещается в верхнем - правом углу прямоугольника.

Нижеследующая иллюстрация показывает строку текста, рисуемую при помощи вызова, функции TextOut. Перед прорисовкой текста, была вызвана функция SetTextAlign, чтобы переместить контрольную точку в каждом из девяти возможных ее положений.

Заданное по умолчанию выравнивание текста для контекста устройства - это левый верхний угол мнимого прямоугольника, который окружает текст. Приложение может извлечь текущее выравнивание текста, установленное для любого контекста устройства, вызывая функцию GetTextAlign.

Межсимвольный интервал

Прикладные программы могут использовать функцию SetTextCharacterExtra, чтобы изменить межсимвольный интервал для всех операции вывода текста в заданном контексте устройства. Нижеследующая иллюстрация показывает строку текста, нарисованную двойным вызовом функции TextOut. Перед прорисовкой текста второй раз, функция SetTextCharacterExtra была вызвана, чтобы увеличить межсимвольный интервал.

Заданное по умолчанию значение межсимвольного интервала для любого контекста устройства обнуляется. Приложение может извлечь текущее значение межсимвольного интервала для контекста устройства, вызывая функцию GetTextCharacterExtra.

Выравнивание краев текста

Прикладные программы могут использовать функции GetTextExtentPoint32 и SetTextJustification, чтобы выровнять строку текста. Выравнивание краев текста - обычная операция в любой настольной издательской системе и в большинстве прикладных программ обработки текстов. Функция GetTextExtentPoint32 вычисляет ширину и высоту строки текста. После того, как ширина вычислена, приложение может вызывать функцию SetTextJustification, чтобы распределить дополнительное пространство, располагающее между каждым из слов в строке текста. Нижеследующая иллюстрация показывает параграф текста, напечатанный дважды: в первом параграфе, текст не был выровнен; во втором параграфе текст был выровнен, путем вызова функции GetTextExtentPoint32 и SetTextJustification.

 

 

Цвет текста и фона

Прикладные программы могут использовать функцию SetTextColor, чтобы установить цвет текста, рисуемого в рабочей области их окон, также как цвет текста, которым рисует цветной принтер. Приложение может использовать функцию SetBkColor, чтобы установить цвет, который появляется позади каждого символа и функцию SetBkMode, чтобы установить, как система должна обеспечить плавный переход выбранного цвета фона в текущий цвет или цвета на экране дисплея.

Заданный по умолчанию цвет текста контекста устройства дисплея - черный; заданный по умолчанию цвет фона - белый; а заданный по умолчанию режим фона OPAQUE (НЕПРОЗРАЧНЫЙ). Приложение может извлечь текущий цвет текста контекста устройства, вызывая функцию GetTextColor. Приложение может извлечь текущий цвет фона контекста устройства, вызывая функцию GetBkColor, а текущий режим фона, при помощи вызова функции GetBkMode.

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz