Метод IViewObject::GetColorSet (oleidl.h)
Возвращает логическую палитру, которую объект будет использовать для рисования в методе IViewObject::D raw с соответствующими параметрами.
Синтаксис
HRESULT GetColorSet(
[in] DWORD dwDrawAspect,
[in] LONG lindex,
[in] void *pvAspect,
[in] DVTARGETDEVICE *ptd,
[in] HDC hicTargetDev,
[out] LOGPALETTE **ppColorSet
);
Параметры
[in] dwDrawAspect
Указывает способ представления объекта. К представлениям относятся содержимое, значок, эскиз или печатный документ. Допустимые значения берутся из перечисления DVASPECT. Дополнительные сведения см. в перечислении DVASPECT .
[in] lindex
Часть объекта, требуемая для операции рисования. Его интерпретация зависит от dwDrawAspect. Дополнительные сведения см. в перечислении DVASPECT .
[in] pvAspect
Указатель на дополнительные сведения о представлении объекта, указанного в dwDrawAspect. Так как ни один из текущих аспектов не поддерживает дополнительные сведения, pvAspect всегда должен иметь значение NULL.
[in] ptd
Указатель на структуру DVTARGETDEVICE , которая описывает устройство, для которого должен быть отрисован объект. Если значение РАВНО NULL, представление должно быть отрисовывается для целевого устройства по умолчанию (обычно это дисплей). Значение, отличное от NULL , интерпретируется в сочетании с hicTargetDev и hdcDraw. Например, если hdcDraw указывает принтер в качестве контекста устройства, ptd указывает на структуру, описывающую это устройство принтера. Данные могут быть напечатаны, если hicTargetDev является допустимым значением, или они могут отображаться в режиме предварительного просмотра, если hicTargetDev имеет значение NULL.
[in] hicTargetDev
Контекст сведений для целевого устройства, указанный параметром ptd , из которого объект может извлекать метрики устройства и тестировать возможности устройства. Если ptd имеет значение NULL, объект должен игнорировать параметр hicTargetDev .
[out] ppColorSet
Адрес переменной указателя LOGPALETTE, которая получает указатель на структуру LOGPALETTE. Структура LOGPALETTE содержит набор цветов, которые будут использоваться при вызове IViewObject::D raw с теми же параметрами для dwAspect, lindex, pvAspect, ptd и hicTargetDev. Если параметр ppColorSet имеет значение NULL, объект не использует палитру.
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.
Код возврата | Описание |
---|---|
|
Набор цветов пуст, или объект не выдаст информацию. |
|
Нет данных представления для объекта. |
|
Недопустимое значение для lindex; В настоящее время поддерживается только -1. |
|
Недопустимое значение для dwAspect. |
|
Одно или несколько указанных значений параметра являются недопустимыми. |
|
Недостаточно доступной памяти для этой операции. |
Комментарии
Метод IViewObject::GetColorSet рекурсивно запрашивает все вложенные объекты и возвращает набор цветов, представляющий объединение всех запрошенных цветов. Набор цветов в конечном итоге перекачивания в контейнер верхнего уровня, которому принадлежит рамка окна. Этот контейнер может вызывать IViewObject::GetColorSet для каждого внедренного объекта, чтобы получить все цвета, необходимые для рисования внедренных объектов. Контейнер может использовать наборы цветов, полученные в сочетании с другими цветами, которые необходимы ему для настройки общей цветовой палитры.
Предоставленная OLE реализация IViewObject::GetColorSet просматривает данные, которые у него есть для рисования рисунка. Если CF_DIB является форматом рисования, используется палитра, найденная в растровом рисунке. Для обычного растрового изображения сведения о цвете не возвращаются. Если формат рисования является метафайлом, обработчик объектов перечисляет метафайл в поисках записи метафайла CreatePalette. Если он найден, обработчик использует его в качестве набора цветов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | oleidl.h |