Hinzufügen von Palettenmeldungshandlern
Das folgende Beispiel veranschaulicht einfache Meldungshandler für die WM _ PALETTECHANGED- und WM _ QUERYNEWPALETTE-Meldungen. Im Beispiel wird die DrawDibRealize-Funktion verwendet, um die WM _ QUERYNEWPALETTE-Nachricht zu verarbeiten.
Ihre Anwendung sollte auf die WM _ QUERYNEWPALETTE-Nachricht reagieren, indem sie das Zielfenster für ungültig erklärt, damit die DrawDibDraw-Funktion ein Bild neu zeichnet. Sie sollten auf die WM _ PALETTECHANGED-Nachricht reagieren, indem Sie die DrawDibRealize-Funktion verwenden, um die Palette zu realisieren.
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;