Share via


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
S_FALSE
Der Farbsatz ist leer, oder das Objekt gibt die Informationen nicht aus.
OLE_E_BLANK
Keine Präsentationsdaten für das Objekt.
DV_E_LINDEX
Ungültiger Wert für lindex; derzeit wird nur -1 unterstützt.
DV_E_DVASPECT
Ungültiger Wert für dwAspect.
E_INVALIDARG
Mindestens einer der angegebenen Parameterwerte ist ungültig.
E_OUTOFMEMORY
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

Weitere Informationen

DVASPECT

IViewObject