Поделиться через


Метод 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

См. также раздел

IDirectDrawSurface7