Шаг 9 - Функция установки графического режима SetDisplayMode

Самый главный вопрос, а зачем ? Все просто. Чем больше разрешение и цветов мы используем, тем больше в памяти занимает изображение, тем медленнее происходят с ним операции. Например, помещение из памяти в видеопамять. Как насчет обновления изображения 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  

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 22.04.2002