Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том2)" -> 34

Visual С++ 6. Полное руководство: В 2 т.(том2) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том2) — Бином, 2006. — 530 c.
Скачать (прямая ссылка): vicualcc2006t2.djvu
Предыдущая << 1 .. 28 29 30 31 32 33 < 34 > 35 36 37 38 39 40 .. 173 >> Следующая

SetBkMode
SetMapMode
SetTextAlign SetTextCharacterExtra
SetTextColor
Определяет цвет фона текста (фоном считается область вокруг символов)
Либо разрешает, либо исключает возможность окраски фона текста
Устанавливает текущий режим отображения,
определяющий систему координат и единицы
измерения для позиционирования текста и графики
Определяет выравнивание текста
Устанавливает величину межсимвольного интервала
(разреженного или уплотненного)
Определяет цвет шрифта
Таблица. 18.2. Функции класса сое для определения установок атрибутов текста
Функция
Что задает
GetBkColor
GetBkMode
GetMapMode
GetTextAlign
GetTextCharacteraExtra
GetTextColor
Цвет фона текста
Режим для фона текста
Текущий режим отображения
Стиль выравнивания текста
Количество лишних межсимвольных интервалов
Цвет текста
Далее при вызове функции GetClipBox класса CDC размеры недействительной области окна представления передаются функции OnDraw (см. пункт 5).
pDC->GetClipBox (SClipRect);
Вспомним (см. гл. 13): термин недействительная область относится к части окна, отмеченной для рисования или перерисовки в связи с каким-то внешним событием, например, перемещением пользователем перекрывающего окна. В этом случае на экран выводится только часть рисунка, попавшая в недействительную область, вывод вне этой области отсекается или отбрасывается.
Наконец, функция OnDraw отображает каждую строку текста в пределах окна представления (пункт 6), используя функцию TextOut класса CDC.
// отображение строки заголовка: pDC->TextOut (MARGIN, Y, "FONT PROPERTIES") ;
// отображение строки текста: for (int Line = 0; Line < NUMLINES; ++Line) {
Y += LineHeight;
if (Y + LineHeight >= ClipRect.top && Y <= ClipRect.bottom) pDC->TextOut (MARGIN, Y, pDoc->m__LineTable [Line]);
)
Данный фрагмент выводит только строки текста, частично или полностью попадающие в пределы недействительной области окна представления. Windows отбрасывает любой текст, который программа пытается вывести вне этой области.
Первые два параметра, передаваемые в функцию TextOut, задают координаты верхнего левого угла первого символа в отображаемой строке, т.е. координаты точки выравнивания символа (рис. 18.3). Заметьте: позицию точки выравнивания в пределах строки текста можно изменить, вызывая функцию С DC: : SetTextAlign. Переменная LineHeight хранит величину интервала между строками.
Третий параметр, передаваемый в функцию TextOut, является отображаемой строкой (или объектом CString, содержащим эту строку). Все остальные строки текста, кроме первой, сохранены в элементе mLineTable класса документа (в следующем параграфе показано, как генерируется этот текст).
Функция TextOut - самая простая и широко распространенная функция отображения текста. Класс CDC предоставляет и другие функции вывода текста, поддерживающие дополнительные возможности (табл. 18.3).
Таблица. 18. 3. Функции класса сое для отображения текста
Функция
Назначение
DrawText
ExtTextOut
GrayString
TabbedTextOut
TextOut
Отображение текста в пределах заданного прямоугольника. Используется для изменения величины отступа табуляции, выравнивания текста по левому краю, центрирования или выравнивания по правому краю прямоугольника, а также для разрыва строк между словами с целью их подгонки к размерам прямоугольника
Вывод текста в пределах заданного прямоугольника. Используется для усечения текста, который не попадает в прямоугольник, заполнения прямоугольника цветом фона текста или изменения интервала между символами Вывод затененного текста. Обычно используется для указания недоступных опций или пунктов
Отображает текст подобно функции ТехШи^ но увеличивает отступ табуляции с использованием заданного шага Отображает строку с заданной начальной позиции
Создание объекта Font и сохранение текста
В этом параграфе класс документа TextDemo дополняется фрагментом для отображения диалогового окна Font (после выбора команды меню Font...) строками инициализации объекта шрифта в соответствии с установками, заданными в диалоговом окне Font, а также строками для генерации и сохранения текста, отображаемого в окне представления.
В редакторе меню откройте меню IDR_MAINFRAME, чтобы создать команду открытия диалогового окна Font. Удалите меню File и Edit, а затем добавьте слева от меню Help новое меню Options (рис. 18.4). В табл. 18.4 перечислены свойства пунктов этого меню.
Таблица. 18.4. Свойства пунктов меню Options программы TextDemo
Идентификатор Надпись Другие свойства
Отсутствует &Options Всплывающее окно
ID_OPTIONS_FONT SFOnt. . . Отсутствует
Отсутствует Отсутствует Разделитель
ID_APP_EXIT E&xit Отсутствует
S TextDemo.tc - IDR_MAIN FRAME (Menu) вИЕЗІ
gpbons Цеір
Font...



Рис. 18.4. Завершенное меню Options
Значок программы можно изменить, открыв значок IDR MAINFRAME в графическом редакторе. Значок программы TextDemo, помещенный на прилагаемом компакт-диске, показан на рис. 18.5. Программа содержит только стандартное изображение значка размером 32x32 пикселей.
Рис. 18.5. Значок программы TextDemo, отображаемый графическим редактором Visual С++
Предыдущая << 1 .. 28 29 30 31 32 33 < 34 > 35 36 37 38 39 40 .. 173 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100