www.gusucode.com > VC++游戏雷霆战机源代码-源码程序 > VC++游戏雷霆战机源代码-源码程序\code\Window.cpp
// Window.cpp: implementation of the CWindow class. // Download by http://www.NewXing.com ////////////////////////////////////////////////////////////////////// #include "Window.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// BOOL CWindow::bActive = TRUE; CWindow::CWindow(HINSTANCE hInstance,int nCmdShow) { m_instance = hInstance; m_CmdShow = nCmdShow; } CWindow::CWindow() { } CWindow::~CWindow() { } BOOL CWindow::InitApplication() { WNDCLASS wc; //填充窗口类结构 wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc =WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = m_instance; wc.hIcon = LoadIcon( m_instance, MAKEINTRESOURCE(IDI_ICON_FLY)); wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH )GetStockObject(BLACK_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = GameTitle; //注册窗口类 return (RegisterClass( &wc )); } BOOL CWindow::InitInstance() { //创建主窗口-(全屏) m_hwnd = CreateWindowEx( WS_EX_TOPMOST, GameTitle, GameTitle, WS_POPUP, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), NULL, NULL, m_instance, NULL); if( !m_hwnd ) return FALSE; //显示并更新窗口 ShowWindow( m_hwnd, m_CmdShow ); UpdateWindow( m_hwnd ); ShowCursor(false); return (TRUE); } BOOL CWindow::Create() { if(!InitApplication()) return FALSE; if(!InitInstance()) return FALSE; return TRUE; } LRESULT CALLBACK CWindow::WinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; switch( message ) { case WM_ACTIVATEAPP: //应用程序是否处于激活状态 { bActive = wParam; } break; case WM_TIMER: //定时器消息 { return 0; } break; case WM_PAINT: //在后台窗口模式时 { hdc=BeginPaint(hwnd,&ps); EndPaint(hwnd,&ps); return 0; } break; case WM_DESTROY: //退出消息 { PostQuitMessage(0); return 0; } break; default:break; } //调用缺省消息处理过程 return DefWindowProc(hwnd, message, wParam, lParam); } HWND CWindow::GetHwnd() { return m_hwnd; }