Adicionando manipuladores de mensagens de paleta
[O recurso associado a esta página, DrawDib, é um recurso herdado. Ele foi substituído pela classe MediaComposition. A classe MediaComposition foi otimizada para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use a classe MediaComposition em vez de DrawDib, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O exemplo a seguir ilustra manipuladores de mensagens simples para as mensagens WM_PALETTECHANGED e WM_QUERYNEWPALETTE . O exemplo usa a função DrawDibRealize para processar a mensagem WM_QUERYNEWPALETTE .
Seu aplicativo deve responder à mensagem WM_QUERYNEWPALETTE invalidando a janela de destino para permitir que a função DrawDibDraw redesenhe uma imagem. Você deve responder à mensagem WM_PALETTECHANGED usando a função DrawDibRealize para realizar a paleta.
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;
Tópicos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de