IDirectDrawSurface7::SetPalette-Methode (ddraw.h)
Fügt ein Palettenobjekt an eine Oberfläche an (oder trennt es von). Die Oberfläche verwendet diese Palette für alle nachfolgenden Vorgänge. Die Palettenänderung erfolgt sofort, ohne Rücksicht auf das Aktualisierungszeitpunkt.
Syntax
HRESULT SetPalette(
[in] LPDIRECTDRAWPALETTE unnamedParam1
);
Parameter
[in] unnamedParam1
Ein Zeiger auf die IDirectDrawPalette-Schnittstelle für das Palettenobjekt, das mit dieser Oberfläche verwendet werden soll. Bei NULL wird die aktuelle Palette getrennt.
Rückgabewert
Wenn die Methode erfolgreich ist, wird der Rückgabewert DD_OK.
Wenn ein Fehler auftritt, kann die Methode einen der folgenden Fehlerwerte zurückgeben:
- DDERR_GENERIC
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDPIXELFORMAT
- DDERR_INVALIDSURFACETYPE
- DDERR_NOEXCLUSIVEMODE
- DDERR_NOPALETTEATTACHED
- DDERR_NOPALETTEHW
- DDERR_NOT8BITCOLOR
- DDERR_SURFACELOST
- DDERR_UNSUPPORTED
Hinweise
Wenn Sie SetPalette aufrufen, um eine Palette zum ersten Mal auf eine Oberfläche festzulegen, erhöht SetPalette die Referenzanzahl der Palette. nachfolgende Aufrufe von SetPalette wirken sich nicht auf die Verweisanzahl der Palette aus. Wenn Sie NULL als lpDDPalette-Parameter übergeben, wird die Palette von der Oberfläche entfernt, und die Verweisanzahl der Palette wird verringert. Wenn Sie die Palette nicht löschen, gibt die Oberfläche ihren Verweis auf die Palette automatisch auf, wenn die Oberfläche selbst freigegeben wird. Gemäß COM-Regeln muss Ihre Anwendung alle Verweise freigeben, die sie auf die Palette enthält, wenn das Objekt nicht mehr benötigt wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | ddraw.h |
Bibliothek | Ddraw.lib |
DLL | Ddraw.dll |