#include<Windows.h>
#define WINDOWTITLE L"致我们永不熄灭的游戏开发梦想~"
#define WINDOW_WIDTH 800
#define WINDOW_HEIGHT 600
//----------------begin-----------------
float g_posX = 0;
float g_posY = 0;
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_KEYDOWN:
if (wParam == VK_ESCAPE)
DestroyWindow(hwnd);
else if (wParam == VK_LEFT)
g_posX -= 1.0f;
else if (wParam == VK_RIGHT)
g_posX += 1.0f;
break;
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
//----------------end-------------------
int WINAPI WinMain(
In HINSTANCE hInstance,
In_opt HINSTANCE hPrevInstance,
In LPSTR lpCmdLine,
In int nCmdShow)
{
WNDCLASSEX wndClass = { 0 };
wndClass.cbSize = sizeof(WNDCLASSEX);
wndClass.style = CS_HREDRAW | CS_VREDRAW;
//----------------begin-----------------
wndClass.lpfnWndProc = WndProc;
//----------------end-------------------
wndClass.hInstance = hInstance;
wndClass.cbClsExtra = 0;
wndClass.cbWndExtra = 0;
wndClass.hIcon = nullptr;
wndClass.hCursor = nullptr;
wndClass.hbrBackground = nullptr;
wndClass.lpszMenuName = nullptr;
wndClass.lpszClassName = L"ForTheDreamOfGameDevelop";
if (!RegisterClassEx(&wndClass))
{
MessageBox(0, L"RegisterClass Failed.", 0, 0);
return false;
}
HWND hwnd = CreateWindow(L"ForTheDreamOfGameDevelop", WINDOWTITLE,
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, WINDOW_WIDTH,
WINDOW_HEIGHT, NULL, NULL, hInstance, NULL);
if (!hwnd)
{
MessageBox(0, L"CreateWindow Failed.", 0, 0);
return false;
}
MoveWindow(hwnd, 250, 80, WINDOW_WIDTH, WINDOW_HEIGHT, true);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
//----------------begin-----------------
g_posX = 400.0f;
g_posY = 1.0f;
MSG msg = { 0 };
while (msg.message != WM_QUIT)
{
if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
g_posY += 0.001f;
HDC hdc = GetDC(hwnd);
TextOut(hdc, g_posX, g_posY, L"hello", 5);
ReleaseDC(hwnd, hdc);
}
}
//----------------end-------------------
return 0;
}