IViewObject::GetColorSet-Methode (oleidl.h)
Gibt die logische Palette zurück, die das Objekt zum Zeichnen in seiner IViewObject::D raw-Methode mit den entsprechenden Parametern verwendet.
Syntax
HRESULT GetColorSet(
[in] DWORD dwDrawAspect,
[in] LONG lindex,
[in] void *pvAspect,
[in] DVTARGETDEVICE *ptd,
[in] HDC hicTargetDev,
[out] LOGPALETTE **ppColorSet
);
Parameter
[in] dwDrawAspect
Gibt an, wie das Objekt dargestellt werden soll. Darstellungen umfassen Inhalt, ein Symbol, eine Miniaturansicht oder ein gedrucktes Dokument. Gültige Werte stammen aus der DVASPECT-Enumeration. Weitere Informationen finden Sie in der DVASPECT-Enumeration .
[in] lindex
Der Teil des Objekts, der für den Ziehvorgang relevant ist. Seine Interpretation variiert je nach dwDrawAspect. Weitere Informationen finden Sie in der DVASPECT-Enumeration .
[in] pvAspect
Zeiger auf zusätzliche Informationen zur Ansicht des in dwDrawAspect angegebenen Objekts. Da keiner der aktuellen Aspekte zusätzliche Informationen unterstützt, muss pvAspect immer NULL sein.
[in] ptd
Zeiger auf die DVTARGETDEVICE-Struktur , die das Gerät beschreibt, für das das Objekt gerendert werden soll. Wenn NULL, sollte die Ansicht für das Standardzielgerät (in der Regel die Anzeige) gerendert werden. Ein anderer Wert als NULL wird in Verbindung mit hicTargetDev und hdcDraw interpretiert. Wenn hdcDraw beispielsweise einen Drucker als Gerätekontext angibt, zeigt ptd auf eine Struktur, die dieses Druckergerät beschreibt. Die Daten können tatsächlich gedruckt werden, wenn hicTargetDev ein gültiger Wert ist, oder sie können im Druckvorschaumodus angezeigt werden, wenn hicTargetDevNULL ist.
[in] hicTargetDev
Informationskontext für das Zielgerät, das durch den ptd-Parameter angegeben wird, aus dem das Objekt Gerätemetriken extrahieren und die Funktionen des Geräts testen kann. Wenn ptdNULL ist, sollte das Objekt den hicTargetDev-Parameter ignorieren.
[out] ppColorSet
Adresse der LOGPALETTE-Zeigervariable, die einen Zeiger auf die LOGPALETTE-Struktur empfängt. Die LOGPALETTE-Struktur enthält den Satz von Farben, die verwendet werden würden, wenn IViewObject::D raw mit denselben Parametern für dwAspect, lindex, pvAspect, ptd und hicTargetDev aufgerufen würde. Wenn ppColorSetNULL ist, verwendet das Objekt keine Palette.
Rückgabewert
Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:
Rückgabecode | Beschreibung |
---|---|
|
Der Farbsatz ist leer, oder das Objekt gibt die Informationen nicht aus. |
|
Keine Präsentationsdaten für das Objekt. |
|
Ungültiger Wert für lindex; derzeit wird nur -1 unterstützt. |
|
Ungültiger Wert für dwAspect. |
|
Mindestens einer der angegebenen Parameterwerte ist ungültig. |
|
Unzureichender Arbeitsspeicher für diesen Vorgang. |
Hinweise
Die IViewObject::GetColorSet-Methode fragt alle geschachtelten Objekte rekursiv ab und gibt einen Farbsatz zurück, der die Vereinigung aller angeforderten Farben darstellt. Der Farbsatz wird schließlich in den Container der obersten Ebene eingeteilt, der den Fensterrahmen besitzt. Dieser Container kann IViewObject::GetColorSet für jedes seiner eingebetteten Objekte aufrufen, um alle Farben abzurufen, die zum Zeichnen der eingebetteten Objekte erforderlich sind. Der Container kann die Farbsätze verwenden, die er in Verbindung mit anderen Farben erhält, die er für sich selbst benötigt, um die Gesamtfarbpalette festzulegen.
Die von OLE bereitgestellte Implementierung von IViewObject::GetColorSet untersucht die Daten, die zum Zeichnen des Bilds vorhanden sind. Wenn CF_DIB das Zeichnungsformat ist, wird die in der Bitmap gefundene Palette verwendet. Bei einer regulären Bitmap werden keine Farbinformationen zurückgegeben. Wenn das Zeichnungsformat eine Metadatei ist, listet der Objekthandler die Metadatei auf, um nach einem CreatePalette-Metadateidatensatz zu suchen. Wenn eine gefunden wird, verwendet der Handler sie als Farbsatz.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | oleidl.h |