Итак, я говорил, что самое место для проведения обратных мероприятий это деструктор класса, а так же что нужно вызвать.
RestoreDisplayMode SetCooperativeLevel
И освободить объекты. Ниже приведенный код можно посмотреть в проекте 16 шага.
Visual Basic В деструкторе класса.
В деструкторе класса.
Visual C++
Visual Basic
Private Sub Class_Terminate()
objDirectDraw.RestoreDisplayMode
objDirectDraw.SetCooperativeLevel 0, DDSCL_NORMAL
Set SecondarySurf = Nothing
Set PrimarySurf = Nothing
Set objDirectDraw = Nothing
Set objDirectX = Nothing
End Sub
Visual C++
CDirectDraw::~CDirectDraw()
{
lpDD->RestoreDisplayMode();
lpDD->SetCooperativeLevel(0,DDSCL_NORMAL );
if (SecondarySurf!=NULL) SecondarySurf->Release();
if (PrimarySurf!=NULL) PrimarySurf->Release();
if (lpDD!=NULL) lpDD->Release();
}