Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT (часть 2)

© Александр Фролов, Григорий Фролов
Том 28, М.: Диалог-МИФИ, 1996, 288 стр.

[Назад] [Содеожание] [Дальше]

Панель для выбора шрифта

Стандартная диалоговая панель Font предназначена для выбора шрифта. Диалоговая панель Font отображает список шрифтов, установленных в системе, и позволяет выбрать название шрифта, его начертание, кегль, выделение, цвет, набор национальных символов (рис. 4.7).

Для управления диалоговой панелью Font в библиотеку классов MFC включен класс CFontDialog. Методы этого класса можно использовать для отображения панели Font и определения характеристик шрифта, выбранного пользователем.

Рис. 4.7. Стандартная диалоговая панель Font

Конструктор класса CFontDialog:


CFontDialog( 
   LPLOGFONT lplfInitial = NULL, 
   DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS, 
   CDC* pdcPrinter = NULL, 
   CWnd* pParentWnd = NULL 
);

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

Мы не станем подробно описывать параметры конструктора, вы найдете это описание в документации Microsoft Visual C++. Сейчас мы приведем только краткий обзор этих параметров. Дополнительную информацию по использованию стандартных панелей выбора шрифта вы можете получить в 14 томе “Библиотеки системного программиста”.

Параметр lplfInitial является указателем на структуру типа LOGFONT, описывающую логический шрифт. Если используете этот параметр, то в диалоговой панели Font по умолчанию будет выбран шрифт наиболее полно соответствующий шрифту, описанному в структуре LOGFONT. По умолчанию данная возможность не используется.

Параметр dwFlags задает набор флагов, управляющих различными режимами работы панели Font.

Через параметр pdcPrinter можно передать конструктору контекст отображения принтера, шрифты которого будут представлены в диалоговой панели Font. Данный параметр используется только в том случае, если в параметре dwFlags указан флаг CF_PRINTERFONTS или CF_BOTH.

Через параметр pParentWnd можно указать родительское окно для далоговой панели Font.

Методы класса CFontDialog

Для отображения диалоговой панели Font предназначен виртуальный метод DoModal:


virtual int DoModal();

Если пользователь выбрал шрифт и нажал на кнопку OK, метод DoModal возвращает идентификатор IDOK, если пользователь отменил выбор шрифта, метод DoModal возвращает идентификатор IDCANCEL.

Остальные методы класса предназначены для определения характеристик выбранного пользователем шрифта. Полное описание этих методов содержится в документации, поставляемой с Visual C++.

Метод GetCurrentFont позволяет сразу определить все характеристики выбранного щрифта, записав их в структуру LOGFONT. Вы можете найти описание структуры LOGFONT в документации SDK.

Остальные методы класса позволяют определить только отдельные характеристики выбранного шрифта. Перечислим названия этих методов.

Метод

Описание

GetFaceName

Возвращает имя выбранного шрифта

GetStyleName

Возвращает имя стиля выбранного шрифта

GetSize

Возвращает кегль выбранного шрифта

GetColor

Возвращает цвет выбранного шрифта

GetWeight

Возвращает плотность выбранного шрифта

IsStrikeOut

Определяет является ли шрифт выделеным перечеркнутой линией

IsUnderline

Определяет является ли шрифт выделеным подчеркиванием

IsBold

Определяет является ли шрифт жирным

IsItalic

Определяет является ли шрифт наклонным


[Назад] [Содеожание] [Дальше]