新增調色盤訊息處理常式
[與此頁面 DrawDib相關聯的功能是舊版功能。 MediaComposition 類別已取代它。 MediaComposition 類別已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaComposition 類別 ,而不是 DrawDib。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
下列範例說明 WM_PALETTECHANGED 和 WM_QUERYNEWPALETTE 訊息的簡單訊息處理常式。 此範例會使用 DrawDibRealize 函式來處理 WM_QUERYNEWPALETTE 訊息。
您的應用程式應該藉由使目的地視窗失效,讓DrawDibDraw函式重新繪製影像,以回應WM_QUERYNEWPALETTE訊息。 您應該使用DrawDibRealize函式來回應WM_PALETTECHANGED訊息,以實現調色盤。
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;
相關主題