Прототип к варианту 24 - 24, ВЫВОД ТЕКСТА НА ФОРМУ

Страницы работы

Содержание работы

Прототип к варианту 24 - 24. ВЫВОД ТЕКСТА НА ФОРМУ

Приложение TextDemo

В приложении TextDemo продемонстрированы некоторые приемы, относящиеся к выводу текста, а также показано применение двух функций вывода текста.

Использование TextDemo

На рис. 11.9 показано рабочее окно программы TextDemo. Список заполняется именами гарнитур доступных экранных шрифтов. В нижнем графическом поле выводится строка текста, в которой шрифт данного элемента, выбранный по умолчанию, масштабируется до различных размеров. Сравните изображение с рис. 11.10, где показано масштабирование шрифта TrueType.

В графическом поле, расположенном в правой верхней части рис. 11.10, текстовая строка выводится с автоматическим переносом слов. Здесь же продемонстрировано применение табуляций.

Единственное, что может сделать пользователь в этой программе, — выбрать отображаемую гарнитуру.

Описание проекта

Проект TextDemo состоит из двух файлов. В программе используется всего одна форма TEXTDEMO. FRM. Единственный модуль программы, TEXTDEMO.BAS, содержит объявления констант и функций.

Листинг модуля TEXTDEMO.BAS здесь не приводится для экономии места. Он практически идентичен FONTVIEW.BAS, разве что в него включены некоторые дополнительные константы.

В листинге 11.4 приведен заголовок файла TEXTDEMO.FRM, описывающий расположение элементов на форме, и часть программного кода формы.

Следующая функция демонстрирует применение функции API Draw/Text для выполнения сложного форматирования с переносом слов и обработкой разрывов строк. Также в ней показано расширение табуляций по интервалам, задаваемым пользователем. 1      Применение Drawtext для вывода текста с форматированием

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

Далее в полученной структуре LOGFONT модифицируются отдельные атрибуты — в нашем случае размер шрифта. Затем функция CreateFontlndirect получает модифицированный шрифт.

Кроме того, в этой функции показано применение средств выравнивания текста GDI для связывания координат с базовой линией блока текста (вместо верхнего или нижнего края символьной ячейки).

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

1 В графическом поле выводится образец текста, 1 оформленного несколькими шрифтами

Похожие материалы

Информация о работе