Metodo IViewObject::GetColorSet (oleidl.h)

Restituisce la tavolozza logica che verrà utilizzata dall'oggetto per il disegno nel metodo IViewObject::D raw con i parametri corrispondenti.

Sintassi

HRESULT GetColorSet(
  [in]  DWORD          dwDrawAspect,
  [in]  LONG           lindex,
  [in]  void           *pvAspect,
  [in]  DVTARGETDEVICE *ptd,
  [in]  HDC            hicTargetDev,
  [out] LOGPALETTE     **ppColorSet
);

Parametri

[in] dwDrawAspect

Specifica la modalità con cui l'oggetto deve essere rappresentato. Le rappresentazioni includono contenuto, un'icona, un'anteprima o un documento stampato. I valori validi vengono ricavati dall'enumerazione DVASPECT. Per altre informazioni, vedere l'enumerazione DVASPECT .

[in] lindex

Parte dell'oggetto che riveste interesse per l'operazione di creazione. La sua interpretazione varia con dwDrawAspect. Per altre informazioni, vedere l'enumerazione DVASPECT .

[in] pvAspect

Puntatore a informazioni aggiuntive sulla visualizzazione dell'oggetto specificato in dwDrawAspect. Poiché nessuno degli aspetti correnti supporta informazioni aggiuntive, pvAspect deve sempre essere NULL.

[in] ptd

Puntatore alla struttura DVTARGETDEVICE che descrive il dispositivo per il quale deve essere eseguito il rendering dell'oggetto. Se NULL, il rendering della visualizzazione deve essere eseguito per il dispositivo di destinazione predefinito (in genere lo schermo). Un valore diverso da NULL viene interpretato insieme a hicTargetDev e hdcDraw. Ad esempio, se hdcDraw specifica una stampante come contesto di dispositivo, ptd punta a una struttura che descrive il dispositivo della stampante. I dati possono essere effettivamente stampati se hicTargetDev è un valore valido o possono essere visualizzati in modalità anteprima di stampa se hicTargetDev è NULL.

[in] hicTargetDev

Contesto informativo per il dispositivo di destinazione indicato dal parametro ptd da cui l'oggetto può estrarre le metriche del dispositivo e testare le funzionalità del dispositivo. Se ptd è NULL, l'oggetto deve ignorare il parametro hicTargetDev .

[out] ppColorSet

Indirizzo della variabile del puntatore LOGPALETTE che riceve un puntatore alla struttura LOGPALETTE. La struttura LOGPALETTE contiene il set di colori che verrebbe usato se IViewObject::D raw fosse stato chiamato con gli stessi parametri per dwAspect, lindex, pvAspect, ptd e hicTargetDev. Se ppColorSet è NULL, l'oggetto non utilizza una tavolozza.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
S_FALSE
Il set di colori è vuoto o l'oggetto non fornirà le informazioni.
OLE_E_BLANK
Nessun dato di presentazione per l'oggetto .
DV_E_LINDEX
Valore non valido per lindex; attualmente è supportato solo -1.
DV_E_DVASPECT
Valore non valido per dwAspect.
E_INVALIDARG
Uno o più valori dei parametri specificati non sono validi.
E_OUTOFMEMORY
Memoria insufficiente disponibile per questa operazione.

Commenti

Il metodo IViewObject::GetColorSet esegue una query ricorsiva su tutti gli oggetti annidati e restituisce un set di colori che rappresenta l'unione di tutti i colori richiesti. Il colore viene infine impostato percolato sul contenitore di livello superiore proprietario della cornice della finestra. Questo contenitore può chiamare IViewObject::GetColorSet in ognuno dei relativi oggetti incorporati per ottenere tutti i colori necessari per disegnare gli oggetti incorporati. Il contenitore può usare i set di colori ottenuti insieme ad altri colori necessari per impostare la tavolozza dei colori complessiva.

L'implementazione fornita da OLE di IViewObject::GetColorSet esamina i dati disponibili a disposizione per disegnare l'immagine. Se CF_DIB è il formato di disegno, viene usata la tavolozza trovata nella bitmap. Per una bitmap normale, non vengono restituite informazioni sul colore. Se il formato di disegno è un metafile, il gestore dell'oggetto enumera il metafile cercando un record metafile CreatePalette. Se ne viene trovato uno, il gestore lo usa come set di colori.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

DVASPECT

IViewObject