Прототип к варианту 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 оформленного несколькими шрифтами
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.