Структура 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
Набор битовых флагов, которые можно использовать для инициализации диалогового окна Шрифт . Когда диалоговое окно возвращается, оно устанавливает эти флаги для указания введенных пользователем данных. Этот элемент может иметь одно или несколько из следующих значений.
Значение | Значение |
---|---|
|
Вызывает отображение в диалоговом окне кнопки Применить . Необходимо указать процедуру перехватчика для обработки WM_COMMAND сообщений для кнопки Применить . Процедура перехватчика может отправить WM_CHOOSEFONT_GETLOGFONT сообщение в диалоговое окно, чтобы получить адрес структуры, содержащей текущие выделенные фрагменты шрифта. |
|
Этот флаг устарел. Чтобы ограничить выбор шрифта всеми скриптами, кроме тех, которые используют oem или символьные наборы символов, используйте CF_SCRIPTSONLY. Чтобы получить исходное поведение CF_ANSIONLY , используйте CF_SELECTSCRIPT и укажите ANSI_CHARSET в элементе lfCharSet структуры LOGFONT , на которую указывает lpLogFont. |
|
Этот флаг игнорируется для перечисления шрифтов.
Windows Vista и Windows XP/2000: Вызывает в диалоговом окне список доступных шрифтов принтера и экрана. Элемент HDC — это дескриптор контекста устройства или контекста сведений, связанного с принтером. Этот флаг представляет собой сочетание флагов CF_SCREENFONTS и CF_PRINTERFONTS . |
|
Вызывает отображение в диалоговом окне элементов управления, позволяющих пользователю указать параметры зачеркивания, подчеркивания и цвета текста. Если этот флаг установлен, можно использовать элемент rgbColors для указания начального цвета текста. Можно использовать элементы lfStrikeOut и lfUnderline структуры, на которую указывает lpLogFont, чтобы указать начальные параметры зачеркивающего элемента и подчеркнуть проверка поля. ChooseFont может использовать эти элементы для возврата выбранных пользователем элементов. |
|
Включает процедуру перехватчика, указанную в элементе lpfnHook этой структуры. |
|
Указывает, что элементы hInstance и lpTemplateName указывают шаблон диалогового окна для использования вместо шаблона по умолчанию. |
|
Указывает, что элемент hInstance идентифицирует блок данных, содержащий предварительно загруженный шаблон диалогового окна. Система игнорирует элемент lpTemplateName , если указан этот флаг. |
|
Элемент ChooseFont должен перечислять и разрешать выбор только шрифтов с фиксированным шагом. |
|
ВыберитеFont должно указывать на ошибку, если пользователь пытается выбрать шрифт или стиль, отсутствуют в диалоговом окне. |
|
Для параметра ChooseFont также должны отображаться шрифты, для которых задано значение Скрыть в панель управления шрифтов. Windows Vista и Windows XP/2000: Этот флаг не поддерживается до Windows 7. |
|
Для инициализации элементов управления диалогового окна в chooseFont следует использовать структуру, на которую указывает элемент lpLogFont. |
|
SelectFont должен выбирать только размеры шрифтов в диапазоне, указанном членами nSizeMin и nSizeMax . |
|
То же, что и флаг CF_NOVECTORFONTS . |
|
При использовании структуры LOGFONT для инициализации элементов управления диалоговых окон используйте этот флаг, чтобы предотвратить отображение начального выбора в диалоговом окне для поля со списком имени шрифта. Это полезно, если к выделенному тексту не применяется одно имя шрифта. |
|
Отключает поле со списком Скрипт . Если этот флаг установлен, элемент lfCharSet структуры LOGFONT получает значение DEFAULT_CHARSET при возврате функции ChooseFont . Этот флаг используется только для инициализации диалогового окна. |
|
Параметр ChooseFont не должен отображать или разрешать выбор симуляции шрифтов. |
|
При использовании структуры для инициализации элементов управления диалоговым окном используйте этот флаг, чтобы предотвратить отображение начального выбора в диалоговом окне для поля со списком Размер шрифта . Это полезно, если к выделенному тексту не применяется один размер шрифта. |
|
При использовании структуры LOGFONT для инициализации элементов управления диалоговым окном используйте этот флаг, чтобы предотвратить отображение начального выбора диалогового окна для поля со списком Стиль шрифта . Это полезно, если к выделенному тексту не применяется один стиль шрифта. |
|
ВыберитеFont не должен разрешать выбор векторного шрифта. |
|
Приводит к выводу списка только горизонтально ориентированных шрифтов в диалоговом окне Шрифт . |
|
Этот флаг игнорируется для перечисления шрифтов.
Windows Vista и Windows XP/2000: Вызывает в диалоговом окне список только шрифтов, поддерживаемых принтером, связанным с контекстом устройства или информационным контекстом, определенным элементом HDC . Это также приводит к отображению метки описания типа шрифта в нижней части диалогового окна Шрифт . |
|
Указывает, что ChooseFont должен разрешать только выбор масштабируемых шрифтов. К масштабируемым шрифтам относятся векторные шрифты, масштабируемые шрифты принтера, шрифты TrueType и шрифты, масштабируемые с помощью других технологий. |
|
Этот флаг игнорируется для перечисления шрифтов.
Windows Vista и Windows XP/2000: Вызывает в диалоговом окне список только шрифтов экрана, поддерживаемых системой. |
|
ChooseFont должен разрешать выбор шрифтов для всех наборов символов, не относящихся к oem и symbol, а также для кодировки ANSI. Это заменяет значение CF_ANSIONLY . |
|
При указании на входных данных отображаются только шрифты с кодировкой, определенной в элементе lfCharSet структуры LOGFONT . Пользователю не будет разрешено изменять набор символов, указанный в поле со списком Скрипты . |
|
Вызывает отображение кнопки Справка в диалоговом окне. Член hwndOwner должен указать окно для получения зарегистрированных сообщений HELPMSGSTRING , которые диалоговое окно отправляет, когда пользователь нажимает кнопку Справка . |
|
Параметр ChooseFont должен только перечислять и разрешать выбор шрифтов TrueType. |
|
Член lpszStyle — это указатель на буфер, содержащий данные стиля, которые ChooseFont должен использовать для инициализации поля со списком Стиль шрифта . Когда пользователь закрывает диалоговое окно, ChooseFont копирует данные стиля для выбора пользователя в этот буфер.
Примечание Для глобализации приложения необходимо указать стиль с помощью элементов lfWeight и lfItalic структуры LOGFONT , на которую указывает lpLogFont. Имя стиля может меняться в зависимости от языка пользовательского интерфейса системы.
|
|
Является устаревшей. Параметр 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 . Этот элемент может иметь одно или несколько из следующих значений.
Значение | Значение |
---|---|
|
Насыщенность шрифта выделена полужирным шрифтом. Эти сведения дублируются в элементе lfWeight структуры LOGFONT и эквивалентны FW_BOLD. |
|
Задан атрибут шрифта курсивом. Эти сведения дублируются в элементе lfItalic структуры LOGFONT . |
|
Шрифт является шрифтом принтера. |
|
Вес шрифта является нормальным. Эти сведения дублируются в элементе lfWeight структуры LOGFONT и эквивалентны FW_REGULAR. |
|
Шрифт является шрифтом экрана. |
|
Шрифт имитируется с помощью интерфейса графического устройства (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 |
См. также раздел
Общая библиотека диалоговых окон
Основные понятия
Справочные материалы