[與此頁面相關聯的功能,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;
相關主題