Добавление обработчиков сообщений палитры

В следующем примере показаны простые обработчики сообщений для сообщений WM_PALETTECHANGED и WM_QUERYNEWPALETTE . В этом примере функция DrawDibRealize используется для обработки сообщения WM_QUERYNEWPALETTE .

Приложение должно отвечать на сообщение WM_QUERYNEWPALETTE , недействив окно назначения, чтобы функция DrawDibDraw перерисовала изображение. Чтобы реализовать палитру, следует ответить на сообщение WM_PALETTECHANGED с помощью функции DrawDibRealize .

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; 

Использование DrawDib