색상표 메시지 처리기 추가

다음 예제에서는 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 사용