www.pudn.com > GameEngine.rar > GameEngine_App.cpp, change:2005-08-19,size:1573b
#include "..\GameEngine_Common.h"
#include "GameEngine_App.h"
bool CGameEngine_App::CreateWnd(LPCTSTR szWinTitle,HINSTANCE hInstance, HINSTANCE hPrevInstance,int nCmdShow)
{
if(!hPrevInstance){ //判断是否已有应用程序实例在运行
RegWndClass(hInstance); //注册窗口类
}
//创建窗口
m_hWnd= CreateWindow(WNDCLASSNAME, szWinTitle, WS_SYSMENU|WS_CAPTION|WS_VISIBLE,\
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
if (!m_hWnd){
return false;
}
ShowWindow(m_hWnd, nCmdShow); //显示窗口
UpdateWindow(m_hWnd); //刷新窗口
return true;
}
ATOM CGameEngine_App::RegWndClass(HINSTANCE hInstance)
{
m_WndClassEx.cbSize = sizeof(WNDCLASSEX);
m_WndClassEx.style = CS_HREDRAW | CS_VREDRAW;
m_WndClassEx.lpfnWndProc = (WNDPROC)WndProc; //回调的窗口过程函数
m_WndClassEx.cbClsExtra = 0;
m_WndClassEx.cbWndExtra = 0;
m_WndClassEx.hInstance = hInstance;
m_WndClassEx.hIcon = 0;
m_WndClassEx.hCursor = LoadCursor(NULL, IDC_ARROW);
m_WndClassEx.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
m_WndClassEx.lpszMenuName = 0;
m_WndClassEx.lpszClassName =WNDCLASSNAME; //define WNDCLASSNAME "Game"
m_WndClassEx.hIconSm =NULL;
return RegisterClassEx(&m_WndClassEx);
}
LRESULT CALLBACK CGameEngine_App::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message){
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}