Структура COLORMATCHSETUP


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

Тип желаемого управления цветом. Правильные значения:

INTENT_PERCEPTUAL
INTENT_SATURATION
INTENT_RELATIVE_COLORIMETRIC
INTENT_ABSOLUTE_COLORIMETRIC

Дополнительную информацию, см. в статье Методы преобразования цвета.

dwProofingIntent

Тип управления цветом, желательный для пробного изображения. Правильные значения:

INTENT_PERCEPTUAL
INTENT_SATURATION
INTENT_RELATIVE_COLORIMETRIC
INTENT_ABSOLUTE_COLORIMETRIC

Дополнительную информацию, см. в статье Методы преобразования цвета.

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
 Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz