Visual C++ для начинающих


Панель выбора шрифта (класс CFontDialog)


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

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

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

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

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

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

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

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

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

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

    CFontDialog dlgFont;
    int iResult=dlgFont.DoModal();

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

Метод GetCurrentFont позволяет сразу определить все характеристики выбранного шрифта, записав их в структуру LOGFONT.

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

  • GetFaceName - Возвращает имя выбранного шрифта
  • GetStyleName - Возвращает имя стиля выбранного шрифта
  • GetSize - Возвращает размер выбранного шрифта
  • GetColor - Возвращает цвет выбранного шрифта
  • GetWeight - Возвращает плотность выбранного шрифта
  • IsStrikeOut - Определяет, является ли шрифт выделенным перечеркнутой линией
  • IsUnderline - Определяет, является ли шрифт выделенным подчеркиванием
  • IsBold - Определяет, является ли шрифт жирным
  • IsItalic - Определяет, является ли шрифт наклонным



Содержание раздела