共用方式為


新增調色盤訊息處理程式

[與此頁面相關聯的功能,DrawDib是舊版功能。 MediaComposition 類別已取代它。 MediaComposition 類別 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 MediaComposition 類別,而不是 DrawDib。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

下列範例說明 WM_PALETTECHANGEDWM_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; 

使用 DrawDib