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 |
---|---|
|
Il set di colori è vuoto o l'oggetto non fornirà le informazioni. |
|
Nessun dato di presentazione per l'oggetto . |
|
Valore non valido per lindex; attualmente è supportato solo -1. |
|
Valore non valido per dwAspect. |
|
Uno o più valori dei parametri specificati non sono validi. |
|
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 |