Добавление обработчиков сообщений палитры
В следующем примере показаны простые обработчики сообщений для сообщений 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;
Связанные темы