Compartilhar via


Estrutura COLORMATCHSETUPW (icm.h)

A estrutura COLORMATCHSETUP contém informações que a função SetupColorMatchingW usa para inicializar a caixa de diálogo ColorManagement . Depois que o usuário fecha a caixa de diálogo, SetupColorMatching retorna informações sobre a seleção do usuário nessa estrutura.

Sintaxe

typedef struct _tagCOLORMATCHSETUPW {
  DWORD         dwSize;
  DWORD         dwVersion;
  DWORD         dwFlags;
  HWND          hwndOwner;
  PCWSTR        pSourceName;
  PCWSTR        pDisplayName;
  PCWSTR        pPrinterName;
  DWORD         dwRenderIntent;
  DWORD         dwProofingIntent;
  PWSTR         pMonitorProfile;
  DWORD         ccMonitorProfile;
  PWSTR         pPrinterProfile;
  DWORD         ccPrinterProfile;
  PWSTR         pTargetProfile;
  DWORD         ccTargetProfile;
  DLGPROC       lpfnHook;
  LPARAM        lParam;
  PCMSCALLBACKW lpfnApplyCallback;
  LPARAM        lParamApplyCallback;
} COLORMATCHSETUPW, *PCOLORMATCHSETUPW, *LPCOLORMATCHSETUPW;

Membros

dwSize

Tamanho da estrutura. Deve ser definido como sizeof ( COLORMATCHSETUP ).

dwVersion

Versão da estrutura COLORMATCHSETUP . Isso deve ser definido como COLOR_MATCH_VERSION.

dwFlags

Um conjunto de sinalizadores de bits usados para inicializar a caixa de diálogo. Se definido como 0 na entrada, todos os controles assumem seus estados padrão.

Quando a caixa de diálogo retorna, esses sinalizadores são definidos para indicar a entrada do usuário.

Esse membro pode ser definido usando uma combinação dos sinalizadores a seguir.

Sinalizador Significado
CMS_DISABLEICM Se definido na entrada, esse sinalizador indicará que a caixa de marcar "Habilitar Gerenciamento de Cores" está desmarcada, desabilitando todos os outros controles. Se definido na saída, isso significa que o usuário não deseja que o gerenciamento de cores seja executado.
CMS_ENABLEPROOFING Se definido na entrada, esse sinalizador indica que os controles revisores de texto devem ser habilitados e a caixa Revisão de marcar está marcada. Se definido na saída, significa que o usuário deseja executar o gerenciamento de cores para um dispositivo de destino diferente da impressora selecionada.
CMS_SETRENDERINTENT Se definido na entrada, esse sinalizador indicará que o membro dwRenderIntent contém o valor a ser usado para inicializar o controle Intenção de Renderização. Caso contrário, o controle usará como padrão a renderização de imagem. Esse sinalizador será definido na saída se o WCS estiver habilitado.
CMS_SETPROOFINTENT Ignorado, a menos que CMS_ENABLEPROOFING também esteja definido. Se definido na entrada e CMS_ENABLEPROOFING também estiver definido, esse sinalizador indicará que o membro dwProofingIntent deve ser usado para inicializar o controle De intenção de renderização de destino. Caso contrário, o controle usará como padrão a renderização de imagem. Esse sinalizador será definido na saída se o revisor estiver habilitado.
CMS_SETMONITORPROFILE Se definido na entrada, esse sinalizador indica que o perfil de gerenciamento de cores nomeado no membro pMonitorProfile deve ser a seleção inicial no controle de perfil do monitor. Se o perfil especificado não estiver associado ao monitor, esse sinalizador será ignorado e o perfil padrão do monitor será usado.
CMS_SETPRINTERPROFILE Se definido na entrada, esse sinalizador indica que o perfil de gerenciamento de cores nomeado no membro pPrinterProfile deve ser a seleção inicial no controle de perfil da impressora. Se o perfil especificado não estiver associado à impressora, esse sinalizador será ignorado e o perfil padrão da impressora será usado.
CMS_SETTARGETPROFILE Se definido na entrada, esse sinalizador indica que o perfil de cor nomeado no membro pTargetProfile deve ser a seleção inicial no controle de perfil de destino. Se o perfil especificado não estiver instalado, esse sinalizador será ignorado e o perfil padrão da impressora será usado. Se a impressora não tiver nenhum perfil padrão, o primeiro perfil em ordem alfabética será exibido.
CMS_USEHOOK Esse sinalizador especifica que o membro lpfnHook contém o endereço de um procedimento de gancho e o membro lParam contém um valor a ser passado para o procedimento de gancho quando a mensagem WM_INITDIALOG é enviada.
CMS_MONITOROVERFLOW Esse sinalizador será definido na saída se o gerenciamento de cores for habilitado e o tamanho do buffer fornecido em ccMonitorProfile for insuficiente para o nome do perfil selecionado. GetLastError retorna ERROR_INSUFFICIENT_BUFFER nesse caso.
CMS_PRINTERROVERFLOW Esse sinalizador será definido na saída se o gerenciamento de cores for habilitado e o tamanho do buffer fornecido em ccPrinterProfile for insuficiente para o nome do perfil selecionado. GetLastError retorna ERROR_INSUFFICIENT_BUFFER nesse caso.
CMS_TARGETOVERFLOW Esse sinalizador será definido na saída se o revisor for habilitado e o tamanho do buffer fornecido em ccTargetProfile for insuficiente para o nome do perfil selecionado. GetLastError retorna ERROR_INSUFFICIENT_BUFFER nesse caso.
CMS_USEAPPLYCALLBACK Se definido na entrada, esse sinalizador indica que a função SetupColorMatching deve chamar a função PCMSCALLBACKW. O endereço da função de retorno de chamada está contido em lpfnApplyCallback.
CMS_USEDESCRIPTION Se definido na entrada, esse sinalizador instruirá a função SetupColorMatching a recuperar a descrição do perfil contida nas marcas de descrição do perfil (consulte Especificação de formato de perfil do ICC v3.4). Ele os inserirá nas caixas de edição Perfil de Monitor, Perfil de Impressora, Perfil de Dispositivo Emulado na caixa de diálogo Comum gerenciamento de cores .

hwndOwner

O identificador de janela para o proprietário da caixa de diálogo ou NULL se a caixa de diálogo não tiver proprietário.

pSourceName

Ponteiro para uma cadeia de caracteres especificada pelo aplicativo que descreve o perfil de origem do item para o qual o gerenciamento de cores deve ser executado. Se for NULL, o controle Fonte da Imagem exibirá o nome do perfil de cor padrão do Windows.

pDisplayName

Aponta para uma cadeia de caracteres nomeando o monitor a ser usado para o gerenciamento de cores. Se esse não for o nome de um monitor válido, o primeiro monitor enumerado será usado.

pPrinterName

Aponta para uma cadeia de caracteres nomeando a impressora na qual a imagem deve ser renderizada. Se esse não for um nome de impressora válido, a impressora padrão será usada e nomeada na caixa de diálogo.

dwRenderIntent

O tipo de gerenciamento de cores desejado. Os valores válidos são:

INTENT_PERCEPTUAL

INTENT_SATURATION

INTENT_RELATIVE_COLORIMETRIC

INTENT_ABSOLUTE_COLORIMETRIC

Para obter mais informações, consulte Intenções de renderização.

dwProofingIntent

O tipo de gerenciamento de cores desejado para a imagem à prova. Os valores válidos são:

INTENT_PERCEPTUAL

INTENT_SATURATION

INTENT_RELATIVE_COLORIMETRIC

INTENT_ABSOLUTE_COLORIMETRIC

Para obter mais informações, consulte Intenções de renderização.

pMonitorProfile

Ponteiro para um buffer no qual colocar o nome do perfil de monitor selecionado pelo usuário. Se o sinalizador CMS_SETMONITORPROFILE for usado, esse sinalizador também poderá ser usado para selecionar um perfil diferente do padrão do monitor quando a caixa de diálogo for exibida pela primeira vez.

ccMonitorProfile

O tamanho do buffer apontado pelo membro pMonitorProfile , em caracteres. Se o buffer não for grande o suficiente para manter o nome selecionado, o nome será truncado para esse tamanho e ERROR_INSUFFICIENT_BUFFER será retornado. Um buffer de tamanho de MAX_PATH sempre funciona.

pPrinterProfile

Aponta para um buffer no qual colocar o nome do perfil de impressora selecionado pelo usuário. Se o sinalizador CMS_SETPRINTERPROFILE for usado, esse sinalizador também poderá ser usado para selecionar um perfil diferente do padrão da impressora quando a caixa de diálogo for exibida pela primeira vez.

ccPrinterProfile

O tamanho do buffer apontado pelo membro pPrinterProfile , em caracteres. Se o buffer não for grande o suficiente para manter o nome selecionado, o nome será truncado para esse tamanho e ERROR_INSUFFICIENT_BUFFER será retornado. Um buffer de tamanho de MAX_PATH sempre funciona.

pTargetProfile

Aponta para um buffer no qual colocar o nome do perfil de destino selecionado pelo usuário para revisão de texto. Se o sinalizador CMS_SETTARGETPROFILE for usado, esse sinalizador também poderá ser usado para selecionar um perfil diferente do padrão da impressora quando a caixa de diálogo for exibida pela primeira vez.

ccTargetProfile

O tamanho do buffer apontado pelo membro pTargetProfile , em caracteres. Se o buffer não for grande o suficiente para manter o nome selecionado, o nome será truncado para esse tamanho e ERROR_INSUFFICIENT_BUFFER será retornado. Um buffer de tamanho de MAX_PATH sempre funciona.

lpfnHook

Se o sinalizador CMS_USEHOOK estiver definido, esse membro será o endereço de um procedimento de caixa de diálogo (consulte DialogProc ) que pode filtrar ou manipular mensagens para a caixa de diálogo. O procedimento de gancho não recebe mensagens emitidas antes de WM_INITDIALOG. Ele é chamado na mensagem WM_INITDIALOG depois que o procedimento de diálogo fornecido pelo sistema processa a mensagem. Em todas as outras mensagens, o procedimento de gancho recebe a mensagem antes do procedimento fornecido pelo sistema. Se o procedimento de gancho retornar TRUE para essas mensagens, o procedimento fornecido pelo sistema não será chamado.

O procedimento de gancho pode chamar a função EndDialog .

lParam

Se o sinalizador CMS_USEHOOK estiver definido, esse membro será passado para o procedimento de gancho fornecido pelo aplicativo como o parâmetro lParam quando a mensagem WM_INITDIALOG for processada.

lpfnApplyCallback

Contém um ponteiro para uma função de retorno de chamada que é invocada quando o botão Aplicar da caixa de diálogo Gerenciamento de Cores é selecionado. Se nenhuma função de retorno de chamada for fornecida, esse membro deverá ser definido como NULL. Consulte PCMSCALLBACKW.

lParamApplyCallback

Contém um valor que será passado para a função ApplyCallbackFunction por meio de seu parâmetro lParam . O significado e o conteúdo do valor são especificados pelo aplicativo.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho icm.h

Confira também