Aggiunta di gestori messaggi di tavolozza
Nell'esempio seguente vengono illustrati i gestori di messaggi semplici per i messaggi WM_PALETTECHANGED e WM_QUERYNEWPALETTE . Nell'esempio viene usata la funzione DrawDibRealize per elaborare il messaggio di WM_QUERYNEWPALETTE .
L'applicazione deve rispondere al messaggio WM_QUERYNEWPALETTE invalidando la finestra di destinazione per consentire alla funzione DrawDibDraw di ridisegnare un'immagine. È necessario rispondere al messaggio WM_PALETTECHANGED usando la funzione DrawDibRealize per realizzare la tavolozza.
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;
Argomenti correlati