В прошлом шаге мы узнали о функции установки уровня доступа. Ее необходимо вызывать сразу после создание объекта DirectDraw. Заметили вариантов флагов и типов много. Наша задача будет попробовать полноэкранный режим. Для этого мы создадим метод GetFullScreenCooperativeLevel который в зависимости от успешности выполнения будет возвращать TRUE или FALSE. Будем считать, что если по каким то причинам получить данный режим не удалось, программа должна прекратить свое выполнение.
Visual Basic Нам нужно создать метод, внутри него указать полноэкранный (DDSCL_FULLSCREEN) и эксклюзивный(DDSCL_EXCLUSIVE) режим. Проверить на ошибки, и в зависимости от результата вызове метода вернуть TRUE или FALSE. Реализуем.
Обратите внимание, что нам нужен был дескриптор окна. Оно это форма. Вот из формы мы его и взяли (DirectDraw.hWnd). Вообще свойство hWnd формы было создано для обращения к формe из Win32 API. Проверять успешность данной операции будем опять при загрузки формы.
Visual C++
Visual Basic
Public Function GetFullScreenCooperativeLevel() As Boolean
On Error GoTo Errors:
objDirectDraw.SetCooperativeLevel DirectDraw.hWnd, DDSCL_FULLSCREEN Or DDSCL_EXCLUSIVE
GetFullScreenCooperativeLevel = True
Exit Function
Errors:
GetFullScreenCooperativeLevel = False
End Function
Private Sub Form_Load()
If (DirectDrawClass.InitDirectDraw() = False) Then
ErrorForm.Show 1
End
End If
If (DirectDrawClass.GetFullScreenCooperativeLevel() = False) Then
MsgBox ("Error Full Screen Level")
End
End If
End Sub