Mensagens de controle-cor

Controles e o sistema podem enviar mensagens de cor do controle quando eles querem que o procedimento de caixa de diálogo para pintar plano de fundo de um controle ou outra janela usando um pincel específico e cores. Isso pode ser útil quando aplicativos substituir as cores padrão usadas nas caixas de diálogo e seus controles. A seguir estão as mensagens de controle-cor, que substituíram a mensagem WM_CTLCOLOR.

WM_CTLCOLORBTN
WM_CTLCOLORDLG
WM_CTLCOLOREDIT
WM_CTLCOLORLISTBOX
WM_CTLCOLORMSGBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC

Um controle envia uma mensagem de cor do controle para o procedimento caixa diálogo imediatamente antes que ele pinta seu próprio fundo. A mensagem permite que o procedimento especificar qual pincel usar e para definir as cores de plano de fundo e primeiro plano. O procedimento especifica um pincel, retornando o identificador pincel. Para definir as cores de fundo e primeiro plano, o procedimento usa o SetBkColor e funções SetTextColor com o Controlarar exibem contexto dispositivo. A mensagem de cor do controle passa um identificador do contexto para dispositivo exibir para o procedimento na wParam parâmetro da mensagem.

O sistema envia uma mensagem WM_CTLCOLORDLG para o procedimento caixa de diálogo se o procedimento não processo a mensagem WM_ERASEBKGND . A classe de caixa de diálogo predefinidas não tem um pincel segundo plano classe, portanto esta mensagem permite que o procedimento de definir seu próprio fundo sem ter que incluir o código para realizar o trabalho.

Em qualquer caso, quando um procedimento de caixa de diálogo não processa uma mensagem de controle-cor, o sistema usa um pincel com a cor de janela padrão para pintar plano de fundo para todas as janelas, exceto as barras de rolagem e controles. Um aplicativo pode recuperar a cor de janela padrão, passando o valor COLOR_WINDOW para o GetSysColor função. Enquanto o plano de fundo é pintado, a cor de primeiro plano para o contexto dispositivo exibir é definida como a cor do texto padrão (COLOR_WINDOWTEXT). Para as barras de rolagem, o sistema usa um pincel com a cor de barra de rolagem padrão (COLOR_SCROLLBAR). Neste caso, as cores de fundo e primeiro plano para o contexto dispositivo exibir estão definidas como branco e preto, respectivamente.

Index