Compartir a través de


Método IViewObjectEx::GetViewStatus (ocidl.h)

Recupera información sobre la opacidad del objeto y qué aspectos de dibujo se admiten.

Sintaxis

HRESULT GetViewStatus(
  [out] DWORD *pdwStatus
);

Parámetros

[out] pdwStatus

Puntero al estado de la vista. Esta información se devuelve como una combinación de los valores de enumeración VIEWSTATUS .

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente.

Comentarios

Para optimizar el proceso de dibujo, el contenedor debe ser capaz de determinar si un objeto es opaco y si tiene un fondo sólido. No es necesario volver a dibujar objetos que están completamente cubiertos por un objeto completamente opaco. Otras operaciones, como el desplazamiento por ejemplo, también se pueden optimizar muy si un objeto es opaco y tiene un fondo sólido.

El método IViewObjectEx::GetViewStatus devuelve si el objeto es totalmente opaco o no (VIEWSTATUS_OPAQUE bit) y si su fondo es sólido (VIEWSTATUS_SOLIDBKGND bit). Esta información puede cambiar a tiempo. Un objeto puede ser opaco en un momento dado y volverse totalmente o parcialmente transparente más adelante, por ejemplo, debido a un cambio de la propiedad BackStyle. Un objeto debe notificar a sus sitios cuando cambia mediante IAdviseSinkEx::OnViewStatusChange para que los sitios puedan almacenar en caché esta información para el acceso de alta velocidad.

Los objetos que no admiten IViewObjectEx se consideran siempre transparentes.

El método IViewObjectEx::GetViewStatus también devuelve una combinación de bits que indica qué aspectos se admiten.

Si no se admite un aspecto de dibujo determinado, todos los métodos IViewObjectEx que toman un aspecto de dibujo como parámetro de entrada deben producir un error y devolver E_INVALIDARG. El método IViewObjectEx::GetViewStatus permite al contenedor obtener información sobre todos los aspectos de dibujo en una llamada rápida. Normalmente, el conjunto de aspectos de dibujo admitidos no debe cambiar con el tiempo. Sin embargo, si no es así, un objeto debe notificar a su contenedor mediante IAdviseSinkEx::OnViewStatusChange.

Los aspectos de dibujo que se admiten son independientes de si el objeto es opaco, parcialmente transparente o totalmente transparente. En concreto, un objeto transparente que no admite DVASPECT_TRANSPARENT debe dibujarse correctamente durante el retroceso al paso frontal mediante DVASPECT_CONTENT. Sin embargo, es probable que esto produzca más parpadeo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ocidl.h

Consulte también

IAdviseSinkEx::OnViewStatusChange

IViewObjectEx

VIEWSTATUS