Personalizando a caixa de diálogo de cor

Para personalizar uma caixa de diálogo de cor , você pode usar qualquer um dos seguintes métodos:

Você pode modificar a aparência e o comportamento da caixa de diálogo cor , definindo sinalizadores in o sinalizadores membro da estrutura CHOOSECOLOR . Por exemplo, você pode definir o sinalizador CC_SOLIDCOLOR para direcionar a caixa de diálogo para exibir somente cores sólidas. Para fazer com que a caixa de diálogo Selecionar inicialmente uma cor diferente de preto, defina o sinalizador CC_RGBINIT e especifique uma cor na rgbResult membro.

Você pode fornecer um modelo Personalizar para a caixa de diálogo de cor , por exemplo, se você quiser incluir controles adicionais que são exclusivos do seu aplicativo. A função ChooseColor usa o modelo personalizado no local do modelo padrão.

    Para fornecer um modelo Personalizar para a caixa de diálogo de cor
  1. Crie o modelo personalizado modificando o modelo padrão especificado na cor.Arquivo de DLG. Os identificadores de Controlarar usados no modelo de caixa de diálogo de cores padrão são definidos na COLORDLG.Arquivo H.
  2. Use a estrutura CHOOSECOLOR para habilitar o modelo de como segue:

Você pode fornecer um procedimento de gancho de CCHookProc para a caixa de diálogo de cor . O procedimento de gancho pode Processoar as mensagens enviadas para a caixa de diálogo. Ele também pode usar mensagens registadas para controlar o comportamento da caixa de diálogo. Se você usar um modelo personalizado para definir controles adicionais, você deve fornecer um procedimento gancho para processar a entrada para seus controles.

    Para habilitar um procedimento de gancho para a caixa de diálogo de cor
  1. Definir o sinalizador CC_ENABLEHOOK in o sinalizadores membro da estrutura CHOOSECOLOR.
  2. Especifique o endereço do procedimento de gancho na lpfnHook membro.

Após processar a WM_INITDIALOG mensagem, o procedimento caixa diálogo envia uma mensagem WM_INITDIALOG para o procedimento gancho. O lParam parâmetro desta mensagem é um ponteiro para a estrutura CHOOSECOLOR usada para inicializar a caixa de diálogo.

A caixa de diálogo envia a mensagem registrada de COLOROKSTRING para o procedimento gancho quando o usuário clica no botão OK . O procedimento de gancho pode rejeitar a cor selecionada e forçar a caixa de diálogo permaneça aberta por retornar zero quando ele recebe essa mensagem. O procedimento de gancho pode forçar a caixa de diálogo para selecionar uma cor especial, enviando a mensagem registrada SETRGBSTRING para a caixa de diálogo. Para usar essas mensagens registradas, você deve passar as constantes COLOROKSTRING e SETRGBSTRING para o RegisterWindowMessage função para obter um identificador de mensagem. Você pode usar o identificador para detectar e processar mensagens enviadas da caixa de diálogo, ou para enviar mensagens para a caixa de diálogo.