Metodo IViewObjectEx::GetViewStatus (ocidl.h)

Recupera informazioni sull'opacità dell'oggetto e sugli aspetti di disegno supportati.

Sintassi

HRESULT GetViewStatus(
  [out] DWORD *pdwStatus
);

Parametri

[out] pdwStatus

Puntatore allo stato della visualizzazione. Queste informazioni vengono restituite come combinazione dei valori di enumerazione VIEWSTATUS .

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo.

Commenti

Per ottimizzare il processo di disegno, il contenitore deve essere in grado di determinare se un oggetto è opaco e se ha uno sfondo solido. Non è necessario ridisegnare gli oggetti interamente coperti da un oggetto completamente opaco. Altre operazioni, ad esempio lo scorrimento, possono essere altamente ottimizzate se un oggetto è opaco e ha uno sfondo solido.

Il metodo IViewObjectEx::GetViewStatus restituisce se l'oggetto è completamente opaco o meno (VIEWSTATUS_OPAQUE bit) e se lo sfondo è solido (VIEWSTATUS_SOLIDBKGND bit). Queste informazioni possono cambiare nel tempo. Un oggetto può essere opaco in un determinato momento e diventare completamente o parzialmente trasparente più avanti, ad esempio a causa di una modifica della proprietà BackStyle. Un oggetto deve notificare ai siti quando cambia usando IAdviseSinkEx::OnViewStatusChange in modo che i siti possano memorizzare nella cache queste informazioni per l'accesso ad alta velocità.

Gli oggetti che non supportano IViewObjectEx sono considerati sempre trasparenti.

Il metodo IViewObjectEx::GetViewStatus restituisce anche una combinazione di bit che indicano quali aspetti sono supportati.

Se un determinato aspetto di disegno non è supportato, tutti i metodi IViewObjectEx che accettano un aspetto di disegno come parametro di input devono avere esito negativo e restituire E_INVALIDARG. Il metodo IViewObjectEx::GetViewStatus consente al contenitore di recuperare informazioni su tutti gli aspetti di disegno in una chiamata rapida. Normalmente il set di aspetti di disegno supportati non deve cambiare con il tempo. Tuttavia, se non si tratta di un caso, un oggetto deve inviare una notifica al contenitore usando IAdviseSinkEx::OnViewStatusChange.

Quali aspetti di disegno sono supportati è indipendente dal fatto che l'oggetto sia opaco, parzialmente trasparente o totalmente trasparente. In particolare, un oggetto trasparente che non supporta DVASPECT_TRANSPARENT deve essere disegnato correttamente durante il passaggio indietro al passaggio anteriore usando DVASPECT_CONTENT. Tuttavia, è probabile che questo risultato sia più sfarfallio.

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 ocidl.h

Vedi anche

IAdviseSinkEx::OnViewStatusChange

IViewObjectEx

VIEWSTATUS