5edf7c19

DDSCL_NOWINDOWCHANGES


Указывает, что DirectDraw не позволяется минимизировать или восстановить окно прикладной программы при активации.            

Флажок DDSCL_EXCLUSIVE установливается для вызова функций, которые могут иметь воздействие на эффективность для других прикладных программ. Для вызова метода IDirectDraw::Compact, измените режим дисплея или измените поведение (напримерпереключение) первичной поверхности, и прикладная программа должна быть установлена в исключительный уровень доступа. Если будет вызов IDirectDraw:: SetCooperativeLevel с DDSCL_EXCLUSIVE и DDSCL_FULLSCREEN, DirectDraw будет пытаться изменить размеры окна на полноэкранные. Прикладная программа должна также установить флажки DDSCL_EXCLUSIVE или DDSCL_NORMAL, и DDSCL_EXCLUSIVE требует DDSCL_FULLSCREEN.

ModeX режимы доступены, только если прикладная программа устанавливает DDSCL_ALLOWMODEX, DDSCL_FULLSCREEN, и DDSCL_EXCLUSIVE. DDSCL_ALLOWMODEX не может использоваться с DDSCL_NORMAL. Если DDSCL_ALLOWMODEX не определен, метод IDirectDraw2:: EnumDisplayModes не будет перечислять ModeX режимы, и IDirectDraw2:: SetDisplayMode метод будет возвращать ошибку, когда запрошен режим ModeX. Набор поддерживаемых режимов дисплея может изменяться после использования IDirectDraw:: SetCooperativeLevel.

ModeX режимы не поддерживаются Windows; следовательно в ModeX режиме Вы не можете использовать IDirectDrawSurface::Lock, чтобы блокировать первичную поверхность, или IDirectDrawSurface:: Blt метод для блиттинга на первичную поверхность. Используйте метод IDirectDrawSurface:: GetDC на первичной поверхности, или используйте GDI с  DC. ModeX режимы обозначены флажком DDSCAPS_MODEX в DDSCAPS члене структуры DDSURFACEDESC, возвращенной IDirectDrawSurface:: GetCaps и IDirectDraw2:: EnumDisplayModes.

Так как прикладные программы могут использовать DirectDraw с большим количеством окон, IDirectDraw:: SetCooperativeLevel не требует, чтобы был определен HWND, если прикладная программа запрашивает DDSCL_NORMAL режим. Передавая NULL в HWND, все окна могут использоваться одновременно в нормальном режиме Windows.

См. также IDirectDraw2:: SetDisplayMode, IDirectDraw:: Компактный, IDirectDraw2:: EnumDisplayModes



Содержание раздела