1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
void SystemClass::InitializeWindows(int &ScreenWidth,int &ScreenHeight){
WNDCLASSEX wc;
DEVMODE dmScreenSettings;
int posX,posY;
m_AppHandle=this;
m_hInstance = GetModuleHandle(NULL);
m_AppName = L"engine";
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = m_hInstance;
wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wc.hIconSm = wc.hIcon;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName = m_AppName;
wc.cbSize = sizeof(WNDCLASSEX);
RegisterClassEx(&wc);
ScreenWidth = GetSystemMetrics(SM_CXSCREEN);
ScreenHeight = GetSystemMetrics(SM_CYSCREEN);
if(FULL_SCREEN){
memset(&dmScreenSettings,0, sizeof(dmScreenSettings));
dmScreenSettings.dmSize = sizeof (dmScreenSettings);
dmScreenSettings.dmPelsHeight = (unsigned long)ScreenHeight;
dmScreenSettings.dmPelsWidth = (unsigned long)ScreenWidth;
dmScreenSettings.dmBitsPerPel = 32;
dmScreenSettings.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN);
posX=posY=0;
}
else{
ScreenWidth = 800;
ScreenHeight = 600;
posX= (GetSystemMetrics(SM_CXSCREEN)-ScreenWidth)/2;
posY= (GetSystemMetrics(SM_CYSCREEN)-ScreenHeight)/2;
}
m_hwnd=CreateWindowEx (WS_EX_APPWINDOW,m_AppName,m_AppName, WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_POPUP,posX,posY,ScreenWidth,ScreenHeight,NULL,NULL,m_hInstance,NULL);
if(!m_hwnd){ //I added this if statement, and after i start debugging it enters this statement and shows me that message box
MessageBox(NULL,NULL,NULL,NULL);
return;
}
ShowWindow(m_hwnd, SW_SHOW);
SetForegroundWindow(m_hwnd);
SetFocus(m_hwnd);
ShowCursor(false);
return;
}
|