Animieren einer Palette
Im folgenden Beispiel wird eine Palette mithilfe der Funktionen DrawDibRealize, DrawDibChangePaletteund DrawDibDraw animiert.
Sie können die Farben einer Bitmap ändern, indem Sie die DrawDibBegin-Funktion in Kombination mit DrawDibChangePaletteverwenden. Um Palettenänderungen zuzulassen, geben Sie zunächst das DDF _ ANIMATE-Flag im Aufruf von DrawDibBegin an. Legen Sie als Zweites die Farbtabellenwerte aus den Paletteneinträgen fest, indem Sie DrawDibChangePalette verwenden.
Wenn lppe beispielsweise eine Adresse des PALETTEENTRY-Arrays ist, das die neuen Farben enthält, und lpbi die BITMAPINFOHEADER-Struktur ist, die in DrawDibBegin oder DrawDibDrawverwendet wird, aktualisiert das folgende Fragment die DIB-Farbtabelle.
hdc = GetDC(hwnd);
DrawDibBegin(hdd, ....., DDF_ANIMATE);
DrawDibRealize(hdd, hdc, fBackground);
DrawDibDraw(hdd, hdc, ...., DDF_SAME_DRAW|DDF_SAME_HDC);
// Call to change color.
DrawDibChangePalette(hDD, iStart, iLen, lppe);
.
.
.
ReleaseDC(hwnd, hdc);