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


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

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

Синтаксис

typedef struct tagCHOOSEFONTW {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTW   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROC lpfnHook;
  LPCWSTR      lpTemplateName;
  HINSTANCE    hInstance;
  LPWSTR       lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTW;

Члены

lStructSize

Тип: DWORD

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

hwndOwner

Тип: HWND

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

hDC

Тип: HDC

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

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

lpLogFont

Тип: LPLOGFONT

Указатель на структуру LOGFONT. Если установить флаг CF_INITTOLOGFONTSTRUCT в элементе Flags и инициализировать другие элементы, функция ChooseFont инициализирует диалоговое окно с шрифтом, соответствующим элементам LOGFONT. Если пользователь нажимает кнопку ОК, SelectFont задает элементы структуры 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
0x000000008L
Включает процедуру перехватчика, указанную в lpfnHook член этой структуры.
CF_ENABLETEMPLATE
0x00000010L
Указывает, что элементы hInstance hInstance и lpTemplateName указывают шаблон диалогового окна, используемый вместо шаблона по умолчанию.
CF_ENABLETEMPLATEHANDLE
0x000000020L
Указывает, что элемент hInstance определяет блок данных, содержащий предварительно загруженный шаблон диалогового окна. Система игнорирует элемент lpTemplateName, если этот флаг указан.
CF_FIXEDPITCHONLY
0x00004000L

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

CF_FORCEFONTEXIST
0x00010000L

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

CF_INACTIVEFONTS
0x02000000L

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

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

CF_INITTOLOGFONTSTRUCT
0x000000040L

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

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

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

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

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

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

CF_SCRIPTSONLY
0x00000400L

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

CF_SELECTSCRIPT
0x00400000L
При указании во входных данных отображаются только шрифты с набором символов, определяемых в элементе lfCharSetструктуре LOGFON T. Пользователь не сможет изменить набор символов, указанный в поле со списком Scripts.
CF_SHOWHELP
0x000000004L
Вызывает диалоговое окно для отображения кнопки справки. Элемент hwndOwner должен указать окно для получения helpMSGSTRING зарегистрированных сообщений, которые отправляет диалоговое окно, когда пользователь нажимает кнопку "Справка ".
CF_TTONLY
0x00040000L

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

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

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

rgbColors

Тип: COLORREF

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

lCustData

Тип: LPARAM

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

lpfnHook

Тип: LPCFHOOKPROC

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

lpTemplateName

Тип: LPCTSTR

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

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 определяет SELECTFONT как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
заголовка commdlg.h

См. также

ChooseFont

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

концептуальные

MAKEINTRESOURCE

Справочник