Поделиться через


Структура CHOOSEFONTA (commdlg.h)

Содержит сведения, которые функция ChooseFont использует для инициализации диалогового окна Шрифт . После того как пользователь закроет диалоговое окно, система возвращает сведения о выборе пользователя в этой структуре.

Синтаксис

typedef struct tagCHOOSEFONTA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTA   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  HINSTANCE    hInstance;
  LPSTR        lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTA;

Члены

lStructSize

Тип: DWORD

Длина структуры в байтах.

hwndOwner

Тип: HWND

Дескриптор окна, которому принадлежит диалоговое окно. Это может быть любой допустимый дескриптор окна или значение NULL , если у диалогового окна нет владельца.

hDC

Тип: HDC

Этот элемент игнорируется функцией ChooseFont .

Windows Vista и Windows XP/2000: Дескриптор контекста устройства или контекста сведений принтера, шрифты которого будут перечислены в диалоговом окне. Этот элемент используется только в том случае, если элемент Flags указывает флаг CF_PRINTERFONTS или CF_BOTH ; в противном случае этот элемент игнорируется.

lpLogFont

Тип: LPLOGFONT

Указатель на структуру LOGFONT . Если задать флаг CF_INITTOLOGFONTSTRUCT в элементе Flags и инициализировать другие элементы, функция ChooseFont инициализирует диалоговое окно шрифтом, соответствующим элементам LOGFONT . Если пользователь нажимает кнопку ОК , выберите ChooseFont , в зависимости от выбранных пользователем элементов структуры LOGFONT .

iPointSize

Тип: INT

Размер выбранного шрифта в единицах 1/10 точки. Функция ChooseFont задает это значение после того, как пользователь закроет диалоговое окно.

Flags

Тип: DWORD

Набор битовых флагов, которые можно использовать для инициализации диалогового окна Шрифт . Когда диалоговое окно возвращается, оно устанавливает эти флаги для указания введенных пользователем данных. Этот элемент может иметь одно или несколько из следующих значений.

Значение Значение
CF_APPLY
0x00000200L
Вызывает отображение в диалоговом окне кнопки Применить . Необходимо указать процедуру перехватчика для обработки WM_COMMAND сообщений для кнопки Применить . Процедура перехватчика может отправить WM_CHOOSEFONT_GETLOGFONT сообщение в диалоговое окно, чтобы получить адрес структуры, содержащей текущие выделенные фрагменты шрифта.
CF_ANSIONLY
0x00000400L
Этот флаг устарел. Чтобы ограничить выбор шрифта всеми скриптами, кроме тех, которые используют oem или символьные наборы символов, используйте CF_SCRIPTSONLY. Чтобы получить исходное поведение CF_ANSIONLY , используйте CF_SELECTSCRIPT и укажите ANSI_CHARSET в элементе lfCharSet структуры LOGFONT , на которую указывает lpLogFont.
CF_BOTH
0x00000003
Этот флаг игнорируется для перечисления шрифтов.

Windows Vista и Windows XP/2000: Вызывает в диалоговом окне список доступных шрифтов принтера и экрана. Элемент HDC — это дескриптор контекста устройства или контекста сведений, связанного с принтером. Этот флаг представляет собой сочетание флагов CF_SCREENFONTS и CF_PRINTERFONTS .

CF_EFFECTS
0x00000100L
Вызывает отображение в диалоговом окне элементов управления, позволяющих пользователю указать параметры зачеркивания, подчеркивания и цвета текста. Если этот флаг установлен, можно использовать элемент rgbColors для указания начального цвета текста. Можно использовать элементы lfStrikeOut и lfUnderline структуры, на которую указывает lpLogFont, чтобы указать начальные параметры зачеркивающего элемента и подчеркнуть проверка поля. ChooseFont может использовать эти элементы для возврата выбранных пользователем элементов.
CF_ENABLEHOOK
0x00000008L
Включает процедуру перехватчика, указанную в элементе lpfnHook этой структуры.
CF_ENABLETEMPLATE
0x00000010L
Указывает, что элементы hInstance и lpTemplateName указывают шаблон диалогового окна для использования вместо шаблона по умолчанию.
CF_ENABLETEMPLATEHANDLE
0x00000020L
Указывает, что элемент hInstance идентифицирует блок данных, содержащий предварительно загруженный шаблон диалогового окна. Система игнорирует элемент lpTemplateName , если указан этот флаг.
CF_FIXEDPITCHONLY
0x00004000L

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

CF_FORCEFONTEXIST
0x00010000L

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

CF_INACTIVEFONTS
0x02000000L

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

Windows Vista и Windows XP/2000: Этот флаг не поддерживается до Windows 7.

CF_INITTOLOGFONTSTRUCT
0x00000040L

Для инициализации элементов управления диалогового окна в chooseFont следует использовать структуру, на которую указывает элемент lpLogFont.

CF_LIMITSIZE
0x00002000L

SelectFont должен выбирать только размеры шрифтов в диапазоне, указанном членами nSizeMin и nSizeMax .

CF_NOOEMFONTS
0x00000800L
То же, что и флаг CF_NOVECTORFONTS .
CF_NOFACESEL
0x00080000L
При использовании структуры LOGFONT для инициализации элементов управления диалоговых окон используйте этот флаг, чтобы предотвратить отображение начального выбора в диалоговом окне для поля со списком имени шрифта. Это полезно, если к выделенному тексту не применяется одно имя шрифта.
CF_NOSCRIPTSEL
0x00800000L
Отключает поле со списком Скрипт . Если этот флаг установлен, элемент lfCharSet структуры LOGFONT получает значение DEFAULT_CHARSET при возврате функции ChooseFont . Этот флаг используется только для инициализации диалогового окна.
CF_NOSIMULATIONS
0x00001000L

Параметр ChooseFont не должен отображать или разрешать выбор симуляции шрифтов.

CF_NOSIZESEL
0x00200000L
При использовании структуры для инициализации элементов управления диалоговым окном используйте этот флаг, чтобы предотвратить отображение начального выбора в диалоговом окне для поля со списком Размер шрифта . Это полезно, если к выделенному тексту не применяется один размер шрифта.
CF_NOSTYLESEL
0x00100000L
При использовании структуры LOGFONT для инициализации элементов управления диалоговым окном используйте этот флаг, чтобы предотвратить отображение начального выбора диалогового окна для поля со списком Стиль шрифта . Это полезно, если к выделенному тексту не применяется один стиль шрифта.
CF_NOVECTORFONTS
0x00000800L

ВыберитеFont не должен разрешать выбор векторного шрифта.

CF_NOVERTFONTS
0x01000000L
Приводит к выводу списка только горизонтально ориентированных шрифтов в диалоговом окне Шрифт .
CF_PRINTERFONTS
0x00000002
Этот флаг игнорируется для перечисления шрифтов.

Windows Vista и Windows XP/2000: Вызывает в диалоговом окне список только шрифтов, поддерживаемых принтером, связанным с контекстом устройства или информационным контекстом, определенным элементом HDC . Это также приводит к отображению метки описания типа шрифта в нижней части диалогового окна Шрифт .

CF_SCALABLEONLY
0x00020000L
Указывает, что ChooseFont должен разрешать только выбор масштабируемых шрифтов. К масштабируемым шрифтам относятся векторные шрифты, масштабируемые шрифты принтера, шрифты TrueType и шрифты, масштабируемые с помощью других технологий.
CF_SCREENFONTS
0x00000001
Этот флаг игнорируется для перечисления шрифтов.

Windows Vista и Windows XP/2000: Вызывает в диалоговом окне список только шрифтов экрана, поддерживаемых системой.

CF_SCRIPTSONLY
0x00000400L

ChooseFont должен разрешать выбор шрифтов для всех наборов символов, не относящихся к oem и symbol, а также для кодировки ANSI. Это заменяет значение CF_ANSIONLY .

CF_SELECTSCRIPT
0x00400000L
При указании на входных данных отображаются только шрифты с кодировкой, определенной в элементе lfCharSet структуры LOGFONT . Пользователю не будет разрешено изменять набор символов, указанный в поле со списком Скрипты .
CF_SHOWHELP
0x00000004L
Вызывает отображение кнопки Справка в диалоговом окне. Член hwndOwner должен указать окно для получения зарегистрированных сообщений HELPMSGSTRING , которые диалоговое окно отправляет, когда пользователь нажимает кнопку Справка .
CF_TTONLY
0x00040000L

Параметр ChooseFont должен только перечислять и разрешать выбор шрифтов TrueType.

CF_USESTYLE
0x00000080L
Член lpszStyle — это указатель на буфер, содержащий данные стиля, которые ChooseFont должен использовать для инициализации поля со списком Стиль шрифта . Когда пользователь закрывает диалоговое окно, ChooseFont копирует данные стиля для выбора пользователя в этот буфер.
Примечание Для глобализации приложения необходимо указать стиль с помощью элементов lfWeight и lfItalic структуры LOGFONT , на которую указывает lpLogFont. Имя стиля может меняться в зависимости от языка пользовательского интерфейса системы.
 
CF_WYSIWYG
0x00008000L
Является устаревшей. Параметр ChooseFont игнорирует этот флаг.

Windows Vista и Windows XP/2000: ВыберитеFont должен разрешать только выбор шрифтов, доступных как на принтере, так и на дисплее. Если этот флаг указан, следует также указать флаги CF_SCREENSHOTS и CF_PRINTERFONTS или CF_BOTH .

rgbColors

Тип: COLORREF

Если установлен флаг CF_EFFECTS , rgbColors задает начальный цвет текста. При успешном возврате функции ChooseFont этот элемент содержит RGB-значение цвета текста, выбранного пользователем. Чтобы создать значение цвета COLORREF , используйте макрос RGB .

lCustData

Тип: LPARAM

Определяемые приложением данные, которые система передает в процедуру перехватчика, определяемую членом lpfnHook . Когда система отправляет WM_INITDIALOG сообщение в процедуру перехватчика, параметр lParam сообщения является указателем на структуру CHOOSEFONT , указанную при создании диалогового окна. Процедура перехватчика может использовать этот указатель для получения значения lCustData .

lpfnHook

Тип: LPCFHOOKPROC

Указатель на процедуру перехватчика CFHookProc , которая может обрабатывать сообщения, предназначенные для диалогового окна. Этот элемент игнорируется, если флаг CF_ENABLEHOOK не установлен в элементе Flags .

lpTemplateName

Тип: LPCTSTR

Имя ресурса шаблона диалогового окна в модуле, определяемом элементом hInstance . Этот шаблон заменяется стандартным шаблоном диалогового окна. Для нумерованных ресурсов диалогового окна lpTemplateName может быть значением, возвращаемым макросом MAKEINTRESOURCE . Этот элемент игнорируется, если в элементе Flags не установлен флаг CF_ENABLETEMPLATE.

hInstance

Тип: HINSTANCE

Если флаг CF_ENABLETEMPLATEHANDLE установлен в элементе Flags , hInstance — это дескриптор объекта памяти, содержащего шаблон диалогового окна. Если установлен флаг CF_ENABLETEMPLATE , hInstance — это дескриптор модуля, который содержит шаблон диалогового окна с именем члена lpTemplateName . Если ни CF_ENABLETEMPLATEHANDLE , ни CF_ENABLETEMPLATE не заданы, этот элемент игнорируется.

lpszStyle

Тип: LPTSTR

Данные стиля. Если указан флаг CF_USESTYLE , ChooseFont использует данные в этом буфере для инициализации поля со списком Стиль шрифта . Когда пользователь закрывает диалоговое окно, ChooseFont копирует строку в поле со списком Стиль шрифта в этот буфер.

nFontType

Тип: WORD

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

Значение Значение
BOLD_FONTTYPE
0x0100
Насыщенность шрифта выделена полужирным шрифтом. Эти сведения дублируются в элементе lfWeight структуры LOGFONT и эквивалентны FW_BOLD.
ITALIC_FONTTYPE
0x0200
Задан атрибут шрифта курсивом. Эти сведения дублируются в элементе lfItalic структуры LOGFONT .
PRINTER_FONTTYPE
0x4000
Шрифт является шрифтом принтера.
REGULAR_FONTTYPE
0x0400
Вес шрифта является нормальным. Эти сведения дублируются в элементе lfWeight структуры LOGFONT и эквивалентны FW_REGULAR.
SCREEN_FONTTYPE
0x2000
Шрифт является шрифтом экрана.
SIMULATED_FONTTYPE
0x8000
Шрифт имитируется с помощью интерфейса графического устройства (GDI).

___MISSING_ALIGNMENT__

nSizeMin

Тип: INT

Наименьший размер в пунктах, который может выбрать пользователь. ChooseFont распознает этот элемент, только если указан флаг CF_LIMITSIZE .

nSizeMax

Тип: INT

Наибольший размер в пунктах, который может выбрать пользователь. ChooseFont распознает этот элемент, только если указан флаг CF_LIMITSIZE .

Комментарии

Примечание

Заголовок commdlg.h определяет CHOOSEFONT в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть commdlg.h

См. также раздел

ВыберитеФонт

Общая библиотека диалоговых окон

Основные понятия

MAKEINTRESOURCE

Справочные материалы