[DrawDib 이 페이지와 연결된 기능은 레거시 기능입니다. MediaComposition 클래스 에 의해가 대체되었습니다. MediaComposition 클래스 Windows 10 및 Windows 11에 최적화되었습니다. 가능한 경우 새 코드에서 DrawDib대신 MediaComposition 클래스 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
다음 예제에서는 WM_PALETTECHANGED 및 WM_QUERYNEWPALETTE 메시지에 대한 간단한 메시지 처리기를 보여 줍니다. 이 예제에서는 DrawDibRealize 함수를 사용하여 WM_QUERYNEWPALETTE 메시지를 처리합니다.
애플리케이션은 대상 창을 무효화하여 DrawDibDraw 함수가 이미지를 다시 그릴 수 있도록 하여 WM_QUERYNEWPALETTE 메시지에 응답해야 합니다. WM_PALETTECHANGED 메시지에 팔레트를 실현하기 위해 DrawDibRealize 함수를 사용하여 응답해야 합니다.
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;
관련 항목