?? appframework.cpp
字號:
#include "AppFramework.h"
static CAppFramework* g_pApp = NULL;
CAppFramework::CAppFramework()
: m_hInst(NULL)
, m_hWnd(NULL)
, m_pClassName(NULL)
, m_nPosX(0)
, m_nPosY(0)
, m_nWidth(0)
, m_nHeight(0)
{
ZeroMemory(&m_WndClass, sizeof(WNDCLASS));
g_pApp = this;
}
CAppFramework::~CAppFramework()
{}
BOOL CAppFramework::CreateWindows(HINSTANCE hInstance, LPSTR pClassName, int nWidth, int nHeight, int nCmdShow)
{
int nSystemX = GetSystemMetrics(SM_CXSCREEN);
int nSystemY = GetSystemMetrics(SM_CYSCREEN);
m_nPosX = (nSystemX - nWidth) / 2;
m_nPosY = (nSystemY - nHeight) / 2;
m_nWidth = nWidth;
m_nHeight = nHeight;
m_hInst = hInstance;
m_pClassName = pClassName;
m_WndClass.cbClsExtra = 0;
m_WndClass.cbWndExtra = 0;
m_WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
m_WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
m_WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
m_WndClass.hInstance = m_hInst;
m_WndClass.lpfnWndProc = WndProc;
m_WndClass.lpszClassName = m_pClassName;
m_WndClass.lpszMenuName = NULL;
m_WndClass.style = CS_VREDRAW | CS_HREDRAW;
RegisterClass(&m_WndClass);
m_hWnd = CreateWindow(m_pClassName, m_pClassName, WS_OVERLAPPEDWINDOW
, m_nPosX, m_nPosY, m_nWidth, m_nHeight, NULL, NULL, m_hInst, NULL);
if(m_hWnd == NULL)
{
return FALSE;
}
ShowWindow(m_hWnd, nCmdShow);
return TRUE;
}
int CAppFramework::Run()
{
MSG Message;
ZeroMemory(&Message, sizeof(MSG));
while(GetMessage(&Message, NULL, 0, 0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return (int)Message.wParam;
}
LRESULT CALLBACK CAppFramework::WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
g_pApp->MouseProc(hWnd, nMsg, wParam, lParam);
return g_pApp->MSGProc(hWnd, nMsg, wParam, lParam);
}
LRESULT CAppFramework::MSGProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
switch(nMsg)
{
case WM_CREATE:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hWnd, nMsg, wParam, lParam);
}
HRESULT CAppFramework::MouseProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
switch(nMsg)
{
case WM_LBUTTONDOWN:
break;
case WM_LBUTTONUP:
break;
case WM_RBUTTONDOWN:
break;
case WM_RBUTTONUP:
break;
case WM_MBUTTONDOWN:
break;
case WM_MBUTTONUP:
break;
case WM_MOUSEMOVE:
break;
}
return S_OK;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -