Мы с Вами создадим метод SetMode640_480_8() который будет устанавливать режим 640Х480 с 8 битной палитрой, и используем ее для установки режима. Так как установка режима может завершиться ошибкой, тип функции BOOL. В случае успеха она вернет TRUE иначе FALSE.
Visual Basic Добавляем функцию к нашему классу и пишем ее реализацию.
Вызываем ее при загрузки формы. Если ошибка приложение завершиться.
Если функция сработает, то Вы увидите, что режим отображения на мониторе другой. Тот который мы просили, особенно хорошо это должно быть видно по цветам.
Добавляем функцию к нашему классу и пишем ее реализацию.
Вызываем ее при загрузке диалогового окна. Если ошибка приложение завершиться.
Если функция сработает, то Вы увидите, что режим отображения на мониторе другой. Тот который мы просили, особенно хорошо это должно быть видно по цветам.
Visual C++
Visual Basic
Public Function SetMode640_480_8() As Boolean
On Error GoTo Errors:
objDirectDraw.SetDisplayMode 640, 480, 8, 0, DDSDM_DEFAULT
SetMode640_480_8 = True
Exit Function
Errors:
SetMode640_480_8 = False
End Function
Private Sub Form_Load()
...........
...........
If (DirectDrawClass.SetMode640_480_8() = False) Then
MsgBox ("Error Set Mode")
End
End If
End Sub
Visual C++
BOOL CDirectDraw::SetMode640_480_8()
{
if (lpDD->SetDisplayMode(640,480,8) !=DD_OK) return FALSE;
return TRUE;
}
BOOL CDirectDlg::OnInitDialog()
{
.........
if (cDirecDraw.GetFullScreenCooperativeLevel()!=TRUE)
{
AfxMessageBox("Error Full Screen Level");
return FALSE;
}
if (cDirecDraw.SetMode640_480_8() !=TRUE)
{
AfxMessageBox("Error Set Mode");
return FALSE;
}
return TRUE; // return TRUE unless you set the focus to a control
}