Метод IDirectDrawSurface7::SetPalette (ddraw.h)
Присоединяет объект палитры к поверхности (или отсоединяет его от поверхности). Поверхность использует эту палитру для всех последующих операций. Изменение палитры происходит немедленно, без учета времени обновления.
Синтаксис
HRESULT SetPalette(
[in] LPDIRECTDRAWPALETTE unnamedParam1
);
Параметры
[in] unnamedParam1
Указатель на интерфейс IDirectDrawPalette для объекта палитры, который будет использоваться с этой поверхностью. Если значение РАВНО NULL, текущая палитра отсоединяется.
Возвращаемое значение
Если метод выполнен успешно, возвращаемое значение будет DD_OK.
В случае сбоя метод может вернуть одно из следующих значений ошибки:
- DDERR_GENERIC
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDPIXELFORMAT
- DDERR_INVALIDSURFACETYPE
- DDERR_NOEXCLUSIVEMODE
- DDERR_NOPALETTEATTACHED
- DDERR_NOPALETTEHW
- DDERR_NOT8BITCOLOR
- DDERR_SURFACELOST
- DDERR_UNSUPPORTED
Комментарии
При первом вызове Метода SetPalette для задания палитры поверхности SetPalette увеличивает количество ссылок палитры; последующие вызовы SetPalette не влияют на число ссылок палитры. Если передать значение NULL в качестве параметра lpDDPalette , палитра удаляется с поверхности, а количество ссылок палитры уменьшается. Если палитра не удалена, при освобождении самой поверхности surface автоматически освобождается ссылка на палитру. В соответствии с правилами COM приложение должно освобождать все ссылки на палитру, когда объект больше не нужен.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | ddraw.h |
Библиотека | Ddraw.lib |
DLL | Ddraw.dll |