Структура COLORMATCHSETUP содержит информацию, которую использует функция SetupColorMatching, чтобы инициализировать диалоговое окно Color Management (Управление цветом). После того, как пользователь закроет диалоговое окно, SetupColorMatching в этой структуре возвращает информацию о выборе пользователя.
Синтаксис
typedef struct _tagCOLORMATCHSETUP { DWORD dwSize; DWORD dwVersion; DWORD dwFlags; HWND hwndOwner; PCTSTR pSourceName; PCTSTR pDisplayName; PCTSTR pPrinterName; DWORD dwRenderIntent; DWORD dwProofingIntent; PTSTR pMonitorProfile; DWORD ccMonitorProfile; PTSTR pPrinterProfile; DWORD ccPrinterProfile; PTSTR pTargetProfile; DWORD ccTargetProfile; DLGPROC lpfnHook; LPARAM lParam; PCMSCALLBACKA lpfnApplyCallback; LPARAM lParamApplyCallback; } COLORMATCHSETUP; |
dwSize
Размер структуры. Должен быть установлен в sizeof (COLORMATCHSETUP).
dwVersion
Версия структуры COLORMATCHSETUP. Параметр должен быть установлен в COLOR_MATCH_VERSION.
dwFlags
Набор битовых флажков, используемый для инициализации диалогового окна. Если на входе установлен 0, все органы управления принимают свое состояние по умолчанию.
Когда диалоговое окно возвращает значение, эти флажки устанавливаются так, чтобы указать ввод пользователя.
Этот член структуры может быть инициализирован, используя комбинации нижеследующих флажков.
Флажок | Предназначение |
---|---|
CMS_DISABLEICM | Если этот флажок установлен на входе, то он указывает, что окошко для установки флажка "Enable Color Management - Разрешить управление цветом" очищено, запрещая все другие органы управления. Если установлен на выходе, это означает, что пользователь не желает выполнять управление цветом. |
CMS_ENABLEPROOFING | Если этот флажок установлен на входе, то он указывает, что органы управления "Proofing - Проба" были включены, а в окошке для установки флажка "Proofing" стоит отметка. Если он установлен на выходе, это означает, что пользователь желает выполнить управление цветом для другого целевого устройства, а не выбранного принтера. |
CMS_SETRENDERINTENT | Если этот флажок установлен на входе, то он указывает, что член структуры dwRenderIntent содержит значение, которое используется, чтобы инициализировать орган управления "Rendering Intent - Метод преобразования цвета". Иначе, по умолчанию этот орган управления устанавливает метод преобразования Picture (Рисунок). Этот флажок устанавливается на выходе, если ICM включен. |
CMS_SETPROOFINTENT | Игнорируется, если флажок CMS_ENABLEPROOFING также не установлен. Если он установлен на входе и CMS_ENABLEPROOFING также установлен, этот флажок указывает, что член структуры dwProofingIntent должен использоваться, чтобы инициализировать орган управления Target Rendering Intent (Метод преобразования цвета цели). В противном случае, значение по умолчанию этого органа управления - Picture (Рисунок). Этот флажок устанавливается на выходе, если включено получение пробного изображения. |
CMS_SETMONITORPROFILE | Если он установлен на входе, то этот флажок указывает, что профиль управления цветом, упомянутый в члене структуры pMonitorProfile должен быть первоначальным выбором в органе управления профиля монитора. Если указанный профиль не связывается с монитором, этот флажок игнорируется, а для монитора используется профиль по умолчанию. |
CMS_SETPRINTERPROFILE | Если он установлен на входе, то этот флажок указывает, что профиль управления цветом, упомянутый в члене структуры pPrinterProfile должен быть первоначальным выбором в органе управления профиля принтера. Если указанный профиль не связывается с принтером, этот флажок игнорируется, а для принтера используется профиль по умолчанию. |
CMS_SETTARGETPROFILE | Если он установлен на входе, то этот флажок указывает, что профиль цвета, упомянутый в члене структуры pTargetProfile должен быть первоначальным выбором в органе управления целевого профиля. Если указанный профиль не установлен, этот флажок игнорируется, а для принтера используется профиль по умолчанию. Если принтер не имеет профиля по умолчанию, то в поле окна появится первый профиль в алфавитном порядке. |
CMS_USEHOOK | Этот флажок определяет, что член структуры lpfnHook содержит адрес фильтр (hook) процедуры, а член структуры lParam содержит значение, которое передается фильтр (hook)процедуре, когда отправляется сообщение WM_INITDIALOG. |
CMS_MONITOROVERFLOW | Этот флажок устанавливается на выходе, если нужно включить управление цветом, а размер буфера, данный в ccMonitorProfile недостаточен для выбранного имени профиля. Функция GetLastError в таком случае возвращает ошибку ERROR_INSUFFICIENT_BUFFER. |
CMS_PRINTERROVERFLOW | Этот флажок устанавливается на выходе, если нужно включить управление цветом, а размер буфера, данный в ccPrinterProfile недостаточен для выбранного имени профиля. Функция GetLastError в таком случае возвращает ошибку ERROR_INSUFFICIENT_BUFFER. |
CMS_TARGETOVERFLOW | Этот флажок устанавливается на выходе, если нужно включить получение пробного изображения, а размер буфера, данный в ccTargetProfile недостаточен для выбранного имени профиля. Функция GetLastError в таком случае возвращает ошибку ERROR_INSUFFICIENT_BUFFER. |
CMS_USEAPPLYCALLBACK | Если он установлен на входе, то этот флажок указывает, что функция SetupColorMatching должна вызвать функцию ApplyCallbackFunction. Адрес функции обратного вызова содержится в lpfnApplyCallback. |
CMS_USEDESCRIPTION | Если он установлен на входе, то этот флажок дает команду функции SetupColorMatching извлечь описание профиля, содержавшееся в тегах описания профиля (См. Спецификацию Формата профиля ICC версии 3.4). Он вставляет их в окна редактирования профиль Монитора, профиль Принтера, Эмулированный профиль устройства общего диалогового окна Управление цветом. |
hwndOwner
Дескриптор окна - владельца диалогового окна, или НУЛЬ (NULL), если диалоговое окно не имеет владельца.
pSourceName
Указатель на определяемую приложением строку, которая описывает исходный профиль элемента, для которого должно быть выполнено управление цветом. Если он - НУЛЬ (NULL), орган управления Image Source (Источник Изображения) показывает имя профиля цвета Windows по умолчанию.
pDisplayName
Указывает на строку, которая называет имя монитора, используемый для управления цветом. Если это имя не правильного монитора, используется первый перечисленный монитор.
pPrinterName
Указывает на строку, которая называет имя принтера, на который должно быть передано изображение. Если это не правильное имя принтера, то используется и именуется в диалоге текущий принтер.
dwRenderIntent
Тип желаемого управления цветом. Правильные значения:
|
Дополнительную информацию, см. в статье Методы преобразования цвета.
dwProofingIntent
Тип управления цветом, желательный для пробного изображения. Правильные значения:
|
Дополнительную информацию, см. в статье Методы преобразования цвета.
pMonitorProfile
Указатель на буфер, в который помещается имя выбранного пользователем профиля монитора. Если используется флажок CMS_SETMONITORPROFILE, то этот флажок может также использоваться, чтобы выбрать профиль другого, а не текущего монитора, когда диалог первый раз показывается на экране.
ccMonitorProfile
Размер буфера указываемый членом структуры pMonitorProfile, в символах. Если буфер не является достаточно большим, чтобы содержать выбранное имя, оно обрезается до этого размера и возвращается ошибка ERROR_INSUFFICIENT_BUFFER. Буфер размера MAX_PATH всегда работает.
pPrinterProfile
Указывает на буфер в который помещается имя выбранного пользователем профиля принтера. Если используется флажок CMS_SETPRINTERPROFILE, этот флажок может также использоваться, чтобы выбрать профиль другого принтера, а не по умолчанию, когда диалог показывается на экране первый раз.
ccPrinterProfile
Размер буфера, указываемый членом структуры pPrinterProfile, в символах. Если буфер не является достаточно большим, чтобы содержать выбранное имя, оно обрезается до этого размера и возвращается ошибка ERROR_INSUFFICIENT_BUFFER. Буфер размера MAX_PATH всегда работает.
pTargetProfile
Указывает на буфер, в который помещается имя выбранного пользователем целевого профиля для получения пробного изображения. Если используется флажок CMS_SETTARGETPROFILE, этот флажок может также использоваться, чтобы выбрать профиль, другого, а не принтера по умолчанию, когда диалог показывается на экране впервые.
ccTargetProfile
Размер буфера, указываемый членом структуры pTargetProfile, в символах. Если буфер не является достаточно большим, чтобы содержать выбранное имя, оно обрезается до этого размера и возвращается ошибка ERROR_INSUFFICIENT_BUFFER. Буфер размера MAX_PATH всегда работает.
lpfnHook
Если устанавливается флажок CMS_USEHOOK, этот член структуры содержит адрес процедуры диалогового окна (см. DialogProc), которая может фильтровать или обрабатывать сообщения для диалога. Фильтр (hook) - процедура не получает никаких сообщений, выданных перед сообщением WM_INITDIALOG. Флажок вызывает сообщение WM_INITDIALOG после того, как предоставляемая системой процедура диалогового окна обработает это сообщение. Для всех других сообщений, фильтр (hook) - процедура получает сообщения перед предоставляемой системой процедурой. Если фильтр (hook) - процедура на эти сообщения возвращает значение ИСТИНА (TRUE), предоставляемую системой процедура не вызывается.
Фильтр (hook) - процедура может вызвать функцию EndDialog.
lParam
Если устанавливается флажок CMS_USEHOOK, этот член структуры передается в предоставляемую приложением фильтр (hook) - процедуру как параметр lParam, когда сообщение WM_INITDIALOG обработано.
lpfnApplyCallback
Содержит указатель на функцию обратного вызова, которая вызывается, когда выбирается кнопка Apply(Применить) диалогового окна Color Management (Управление цветом). Если функция обратного вызова не предоставлена, этот член структуры должен быть установлен в НУЛЬ (NULL). См. описание функции ApplyCallbackFunction.
lParamApplyCallback
Содержит значение, которое должно быть передано в функцию ApplyCallbackFunction через ее параметр lParam. Предназначение и содержание значения определяются приложением.
Смотри также
Обзор Основные концепции управления цветом, Структуры, используемые ICM,
DialogProc, EndDialog
Размещение и совместимость COLORMATCHSETUP |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Нет |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Нет |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Нет |
в | ||
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Icm.h | |
- включено в | - | |
Unicode | Объявлена как структура Unicode и ANSI | |
Замечания по платформе | Не имеется |