|
#include <windows.h> |
|
|
|
LRESULT CALLBACK MainWindowCallback(HWND Window, UINT Message, WPARAM WParam, LPARAM LParam) { |
|
LRESULT Result = 0; |
|
switch (Message) { |
|
case WM_CLOSE: |
|
{ |
|
PostQuitMessage(0); |
|
} break; |
|
case WM_PAINT: |
|
{ |
|
PAINTSTRUCT Paint; |
|
HDC DeviceContext = BeginPaint(Window, &Paint); |
|
int X = Paint.rcPaint.left; |
|
int Y = Paint.rcPaint.top; |
|
int Width = Paint.rcPaint.right - X; |
|
int Height = Paint.rcPaint.bottom - Y; |
|
PatBlt(DeviceContext, X, Y, Width, Height, WHITENESS); |
|
EndPaint(Window, &Paint); |
|
} break; |
|
default: { |
|
Result = DefWindowProc(Window, Message, WParam, LParam); |
|
} break; |
|
} |
|
return(Result); |
|
} |
|
|
|
int CALLBACK WinMain(HINSTANCE Instance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { |
|
|
|
WNDCLASS WindowClass; |
|
memset(&WindowClass, '\0', sizeof(WindowClass)); |
|
WindowClass.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW; |
|
WindowClass.lpfnWndProc = MainWindowCallback; |
|
WindowClass.hInstance = Instance; |
|
WindowClass.lpszClassName = "MainWindowClass"; |
|
|
|
if (RegisterClass(&WindowClass)) { |
|
HWND WindowHandle = CreateWindowEx(0, WindowClass.lpszClassName, "TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, Instance, 0); |
|
if (WindowHandle) { |
|
for (;;) { |
|
MSG Message; |
|
BOOL MessageResult = GetMessage(&Message, 0, 0, 0); |
|
if (MessageResult > 0) { |
|
TranslateMessage(&Message); |
|
DispatchMessage(&Message); |
|
} |
|
else |
|
break; |
|
} |
|
} |
|
} |
|
|
|
return (0); |
|
}; |
|
|