Método IViewObject::GetColorSet (oleidl.h)
Devuelve la paleta lógica que el objeto usará para dibujar en su método IViewObject::D raw con los parámetros correspondientes.
Sintaxis
HRESULT GetColorSet(
[in] DWORD dwDrawAspect,
[in] LONG lindex,
[in] void *pvAspect,
[in] DVTARGETDEVICE *ptd,
[in] HDC hicTargetDev,
[out] LOGPALETTE **ppColorSet
);
Parámetros
[in] dwDrawAspect
Especifica cómo se va a representar el objeto. Las representaciones incluyen contenido, un icono, una miniatura o un documento impreso. Los valores válidos se toman de la enumeración DVASPECT. Consulte la enumeración DVASPECT para obtener más información.
[in] lindex
Parte del objeto que es de interés para la operación de dibujo. Su interpretación varía con dwDrawAspect. Consulte la enumeración DVASPECT para obtener más información.
[in] pvAspect
Puntero a información adicional sobre la vista del objeto especificado en dwDrawAspect. Puesto que ninguno de los aspectos actuales admite información adicional, pvAspect siempre debe ser NULL.
[in] ptd
Puntero a la estructura DVTARGETDEVICE que describe el dispositivo para el que se va a representar el objeto. Si es NULL, la vista debe representarse para el dispositivo de destino predeterminado (normalmente la pantalla). Un valor distinto de NULL se interpreta junto con hicTargetDev y hdcDraw. Por ejemplo, si hdcDraw especifica una impresora como contexto del dispositivo, ptd apunta a una estructura que describe ese dispositivo de impresora. Los datos se pueden imprimir realmente si hicTargetDev es un valor válido o se puede mostrar en el modo de vista previa de impresión si hicTargetDev es NULL.
[in] hicTargetDev
Contexto de información para el dispositivo de destino indicado por el parámetro ptd desde el que el objeto puede extraer las métricas del dispositivo y probar las funcionalidades del dispositivo. Si ptd es NULL, el objeto debe omitir el parámetro hicTargetDev .
[out] ppColorSet
Dirección de la variable de puntero LOGPALETTE que recibe un puntero a la estructura LOGPALETTE. La estructura LOGPALETTE contiene el conjunto de colores que se usarían si se llamara a IViewObject::D raw con los mismos parámetros para dwAspect, lindex, pvAspect, ptd y hicTargetDev. Si ppColorSet es NULL, el objeto no usa una paleta.
Valor devuelto
Este método devuelve S_OK cuando funciona correctamente. Otros posibles valores devueltos son los siguientes.
Código devuelto | Descripción |
---|---|
|
El conjunto de colores está vacío o el objeto no proporcionará la información. |
|
No hay datos de presentación para el objeto . |
|
Valor no válido para lindex; actualmente solo se admite -1. |
|
Valor no válido para dwAspect. |
|
Uno o varios de los valores de parámetro proporcionados no son válidos. |
|
Memoria insuficiente disponible para esta operación. |
Comentarios
El método IViewObject::GetColorSet consulta recursivamente los objetos anidados y devuelve un conjunto de colores que representa la unión de todos los colores solicitados. El conjunto de colores finalmente se percola en el contenedor de nivel superior que posee el marco de la ventana. Este contenedor puede llamar a IViewObject::GetColorSet en cada uno de sus objetos incrustados para obtener todos los colores necesarios para dibujar los objetos incrustados. El contenedor puede usar los conjuntos de colores obtenidos junto con otros colores que necesita para establecer la paleta de colores general.
La implementación proporcionada por OLE de IViewObject::GetColorSet examina los datos que tiene a mano para dibujar la imagen. Si CF_DIB es el formato de dibujo, se usa la paleta que se encuentra en el mapa de bits. Para un mapa de bits normal, no se devuelve información de color. Si el formato de dibujo es un metarchivo, el controlador de objetos enumera el metarchivo que busca un registro de metarchivo CreatePalette. Si se encuentra uno, el controlador lo usa como conjunto de colores.
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 | oleidl.h |