Adicionando manipuladores de mensagens de paleta

O exemplo a seguir ilustra manipuladores de mensagens simples para as mensagens do WM _ paletachanged e do WM _ QUERYNEWPALETTE . O exemplo usa a função DrawDibRealize para processar a mensagem do WM _ QUERYNEWPALETTE .

Seu aplicativo deve responder à mensagem do WM _ QUERYNEWPALETTE ao invalidar a janela de destino para permitir que a função DrawDibDraw redesenhe uma imagem. Você deve responder à mensagem da _ paletachanged do WM usando a função DrawDibRealize para obter a paleta.

case WM_PALETTECHANGED: 
    if ((HWND)wParam == hwnd) 
        break; 
case WM_QUERYNEWPALETTE: 
    hdc = GetDC(hwnd); 
    f = DrawDibRealize(hdd, hdc, FALSE) > 0; 
    ReleaseDC(hwnd, hdc); 
    if (f) 
        InvalidateRect(hwnd, NULL, TRUE); 
    break; 

Usando DrawDib