📄 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 + -