?? main.cpp
字號:
#include "DXDW.h"
DX *dx = NULL;
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
if (dx) dx->keydown = false;
switch( msg )
{
case WM_DESTROY:
PostQuitMessage( 0 );
return 0;
case WM_KEYUP:
dx->keydown = false;
return 0;
case WM_KEYDOWN:
if (dx->keydown == false)
{
dx->keydown = true;
switch (wParam)
{
case VK_ESCAPE:
PostQuitMessage( 0 );
break;
case VK_UP:
if (dx) dx->manindex = 1;
break;
case VK_DOWN:
if (dx) dx->manindex = 3;
break;
case VK_LEFT:
if (dx) dx->manindex = 4;
break;
case VK_RIGHT:
if (dx) dx->manindex = 2;
break;
}
}
return 0;
}
return DefWindowProc( hWnd, msg, wParam, lParam );
}
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L,
GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
"DirectDraw", NULL };
RegisterClassEx( &wc );
HWND hWnd = CreateWindow( "DirectDraw", "專題教學3",
WS_OVERLAPPEDWINDOW, 0, 0, 640, 480,
GetDesktopWindow(), NULL, wc.hInstance, NULL );
dx = new DX;
if (dx->InitDX(hWnd) != DD_OK)
{
if (dx) delete dx;
return 0;
}
if (dx->InitBmp() != DD_OK)
{
if (dx) delete dx;
return 0;
}
ShowWindow( hWnd, SW_SHOWDEFAULT );
UpdateWindow( hWnd );
MSG msg;
ZeroMemory( &msg, sizeof(msg) );
while( msg.message!=WM_QUIT )
{
if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
dx->Render();
ValidateRect( hWnd, NULL );
}
if (dx) delete dx;
UnregisterClass( "DirectDraw", wc.hInstance );
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -