Структура CHOOSECOLORA (rich Edit 2.0)
Содержит сведения, которые функция ChooseColor использует для инициализации диалогового окна Цвет . После того как пользователь закроет диалоговое окно, система возвращает сведения о выборе пользователя в этой структуре.
Синтаксис
typedef struct tagCHOOSECOLORA {
DWORD lStructSize;
HWND hwndOwner;
HWND hInstance;
COLORREF rgbResult;
COLORREF *lpCustColors;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
LPEDITMENU lpEditInfo;
} CHOOSECOLORA, *LPCHOOSECOLORA;
Члены
lStructSize
Тип: DWORD
Длина структуры в байтах.
hwndOwner
Тип: HWND
Дескриптор окна, которому принадлежит диалоговое окно. Это может быть любой допустимый дескриптор окна или значение NULL , если у диалогового окна нет владельца.
hInstance
Тип: HWND
Если флаг CC_ENABLETEMPLATEHANDLE задан в элементе Flags , hInstance — это дескриптор объекта памяти, содержащего шаблон диалогового окна. Если установлен флаг CC_ENABLETEMPLATE , hInstance — это дескриптор модуля, который содержит шаблон диалогового окна с именем члена lpTemplateName . Если ни CC_ENABLETEMPLATEHANDLE , ни CC_ENABLETEMPLATE не заданы, этот элемент игнорируется.
rgbResult
Тип: COLORREF
Если установлен флаг CC_RGBINIT , rgbResult указывает цвет, изначально выбранный при создании диалогового окна. Если указанное значение цвета не входит в число доступных цветов, система выбирает ближайший доступный сплошной цвет. Если значение rgbResult равно нулю или CC_RGBINIT не задано, изначально выбранный цвет будет черным. Если пользователь нажимает кнопку ОК , rgbResult указывает цвет, выбранный пользователем. Чтобы создать значение цвета COLORREF , используйте макрос RGB .
lpCustColors
Тип: COLORREF*
Указатель на массив из 16 значений, содержащих красные, зеленые, синие (RGB) значения для настраиваемых цветовых полей в диалоговом окне. Если пользователь изменяет эти цвета, система обновляет массив новыми rgb-значениями. Чтобы сохранить новые пользовательские цвета между вызовами функции ChooseColor , необходимо выделить статическую память для массива. Чтобы создать значение цвета COLORREF , используйте макрос RGB .
Flags
Тип: DWORD
Набор битовых флагов, которые можно использовать для инициализации диалогового окна Цвет . Когда диалоговое окно возвращается, оно устанавливает эти флаги для указания входных данных пользователя. Этот элемент может быть сочетанием следующих флагов.
Значение | Значение |
---|---|
|
Вызывает отображение в диалоговом окне всех доступных цветов в наборе основных цветов. |
|
Включает процедуру перехватчика, указанную в элементе lpfnHook этой структуры. Этот флаг используется только для инициализации диалогового окна. |
|
Элементы hInstance и lpTemplateName указывают шаблон диалогового окна для использования вместо шаблона по умолчанию. Этот флаг используется только для инициализации диалогового окна. |
|
Элемент hInstance определяет блок данных, содержащий предварительно загруженный шаблон диалогового окна. Система игнорирует элемент lpTemplateName , если указан этот флаг. Этот флаг используется только для инициализации диалогового окна. |
|
Вызывает отображение в диалоговом окне дополнительных элементов управления, позволяющих пользователю создавать пользовательские цвета. Если этот флаг не установлен, пользователь должен нажать кнопку Определить пользовательский цвет , чтобы отобразить настраиваемые элементы управления цветом. |
|
Отключает кнопку Определить пользовательский цвет . |
|
Заставляет диалоговое окно использовать цвет, указанный в элементе rgbResult , в качестве начального выбора цвета. |
|
Вызывает отображение кнопки Справка в диалоговом окне. Член hwndOwner должен указать окно для получения зарегистрированных сообщений HELPMSGSTRING , которые диалоговое окно отправляет, когда пользователь нажимает кнопку Справка . |
|
Вызывает отображение в диалоговом окне только сплошных цветов в наборе основных цветов. |
lCustData
Тип: LPARAM
Определяемые приложением данные, которые система передает в процедуру перехватчика, определяемую членом lpfnHook . Когда система отправляет WM_INITDIALOG сообщение в процедуру перехватчика, параметр lParam сообщения является указателем на структуру CHOOSECOLOR , указанную при создании диалогового окна. Процедура перехватчика может использовать этот указатель для получения значения lCustData .
lpfnHook
Тип: LPCCHOOKPROC
Указатель на процедуру перехватчика CCHookProc , которая может обрабатывать сообщения, предназначенные для диалогового окна. Этот элемент игнорируется, если флаг CC_ENABLEHOOK не установлен в элементе Flags .
lpTemplateName
Тип: LPCTSTR
Имя ресурса шаблона диалогового окна в модуле, определяемом элементом hInstance . Этот шаблон заменяется стандартным шаблоном диалогового окна. Для нумерованных ресурсов диалогового окна lpTemplateName может быть значением, возвращаемым макросом MAKEINTRESOURCE . Этот элемент игнорируется, если флаг CC_ENABLETEMPLATE не установлен в элементе Flags .
lpEditInfo
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | сборка Windows 10 20348 |
Минимальная версия сервера | сборка Windows 10 20348 |
Верхняя часть | commdlg.h |
См. также раздел
Общая библиотека диалоговых окон
Основные понятия
Справочные материалы