Condividi tramite


Aggiunta di gestori messaggi del riquadro

[La funzionalità associata a questa pagina , DrawDib, è una funzionalità legacy. È stata sostituita dalla classe MediaComposition. La classe MediaComposition è stata ottimizzata per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi la classe MediaComposition anziché DrawDib, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Nell'esempio seguente vengono illustrati semplici gestori di messaggi per i messaggi WM_PALETTECHANGED e WM_QUERYNEWPALETTE . Nell'esempio viene utilizzata la funzione DrawDib Route per elaborare il messaggio WM_QUERYNEWPALETTE .

L'applicazione deve rispondere al messaggio di WM_QUERYNEWPALETTE invalidando la finestra di destinazione per consentire alla funzione DrawDibDraw di ridisegnare un'immagine. Per realizzare la tavolozza, è necessario rispondere al messaggio WM_PALETTECHANGED usando la funzione DrawDib Realize .

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; 

Uso di DrawDib