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


Структура 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

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

Значение Значение
CC_ANYCOLOR
0x00000100
Вызывает отображение в диалоговом окне всех доступных цветов в наборе основных цветов.
CC_ENABLEHOOK
0x00000010
Включает процедуру перехватчика, указанную в элементе lpfnHook этой структуры. Этот флаг используется только для инициализации диалогового окна.
CC_ENABLETEMPLATE
0x00000020
Элементы hInstance и lpTemplateName указывают шаблон диалогового окна для использования вместо шаблона по умолчанию. Этот флаг используется только для инициализации диалогового окна.
CC_ENABLETEMPLATEHANDLE
0x00000040
Элемент hInstance определяет блок данных, содержащий предварительно загруженный шаблон диалогового окна. Система игнорирует элемент lpTemplateName , если указан этот флаг. Этот флаг используется только для инициализации диалогового окна.
CC_FULLOPEN
0x00000002
Вызывает отображение в диалоговом окне дополнительных элементов управления, позволяющих пользователю создавать пользовательские цвета. Если этот флаг не установлен, пользователь должен нажать кнопку Определить пользовательский цвет , чтобы отобразить настраиваемые элементы управления цветом.
CC_PREVENTFULLOPEN
0x00000004
Отключает кнопку Определить пользовательский цвет .
CC_RGBINIT
0x00000001
Заставляет диалоговое окно использовать цвет, указанный в элементе rgbResult , в качестве начального выбора цвета.
CC_SHOWHELP
0x00000008
Вызывает отображение кнопки Справка в диалоговом окне. Член hwndOwner должен указать окно для получения зарегистрированных сообщений HELPMSGSTRING , которые диалоговое окно отправляет, когда пользователь нажимает кнопку Справка .
CC_SOLIDCOLOR
0x00000080
Вызывает отображение в диалоговом окне только сплошных цветов в наборе основных цветов.

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

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

CCHookProc

Выбор цвета

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

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

MAKEINTRESOURCE

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