Самый главный вопрос, а зачем ? Все просто. Чем больше разрешение и цветов мы используем, тем больше в памяти занимает изображение, тем медленнее происходят с ним операции. Например, помещение из памяти в видеопамять. Как насчет обновления изображения 20 раз в секунду? Вот для того, что бы установить наиболее оптимальные параметры, и существует эта функция. Если Вам достаточно всего 256 цветов, зачем палитра в 24 бита и изображения монстры?
Visual Basic Описание функции Параметры Ошибки Описание функции Параметры Возвращаемое значение
Visual C++
Visual Basic
DirectDraw7.SetDisplayMode метод устанавливает режим дисплея
object.SetDisplayMode( w As Long, h As Long, bpp As Long, ref As Long, mode As CONST_DDSDMFLAGS)
object
Объектная переменная к объекту DirectDraw7.
w and h
Ширина и высота нового режима.
bpp
Разрешающая способность, в битах на пиксель (bpp), нового режима.
ref
Частота регенерации нового режима. Установите это значение к 0, чтобы запросить заданную по умолчанию частоту регенерации для драйвера.
mode
Одна из констант из CONST_DDSDMFLAGS перечня, описывающего дополнительные параметры. В настоящее время, единственный допустимый флажок - DDSDM_STANDARDVGAMODE. Если Вы устанавливаете другую разрешающую способность, разрядную глубину изображаемого пространства, не используйте этот флажок, установите параметр в 0.
Если сбой метода, вызовется ошибка. Номер может быть установлен к одному из следующих значений:
DDERR_GENERIC
DDERR_INVALIDMODE
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_LOCKEDSURFACES
DDERR_NOEXCLUSIVEMODE
DDERR_SURFACEBUSY
DDERR_UNSUPPORTED
DDERR_UNSUPPORTEDMODE
DDERR_WASSTILLDRAWING
Visual C++
IDirectDraw7::SetDisplayMode метод устанавливает режим дисплея
HRESULT SetDisplayMode
(
DWORD dwWidth,
DWORD dwHeight,
DWORD dwBPP,
DWORD dwRefreshRate,
DWORD dwFlags
);
dwWidth и dwHeight
Ширина и высота нового режима.
dwBPP
Биты на пиксель (bpp) нового режима.
dwRefreshRate
Частота регенерации нового режима. Установите это значение к 0, чтобы запросить заданную по умолчанию частоту регенерации для драйвера.
dwFlags
дна из констант из CONST_DDSDMFLAGS перечня, описывающего дополнительные параметры. В настоящее время, единственный допустимый флажок - DDSDM_STANDARDVGAMODE. Если Вы устанавливаете другую разрешающую способность, разрядную глубину изображаемого пространства, не используйте этот флажок, установите параметр в 0.
Если метод успешен, возвращаемое значение - DD_OK.
Если метод терпит неудачу, возвращается одна из следующих значений ошибки:
DDERR_GENERIC
DDERR_INVALIDMODE
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_LOCKEDSURFACES
DDERR_NOEXCLUSIVEMODE
DDERR_SURFACEBUSY
DDERR_UNSUPPORTED
DDERR_UNSUPPORTEDMODE
DDERR_WASSTILLDRAWING