Untitled
unknown
plain_text
4 years ago
1.4 kB
8
Indexable
#include <windows.h>
class Widget
{
HWND hWnd;
int width, height, x_pos, y_pos;
static LRESULT CALLBACK Procedure(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProcW(hWnd, msg, wParam, lParam);
}
public:
Widget(int width, int height, int x_pos, int y_pos)
{
WNDCLASSEXW wc = {0};
wc.cbSize = sizeof(WNDCLASSEXW);
wc.lpszClassName = L"Widget";
wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
wc.lpfnWndProc = Procedure;
wc.hCursor = LoadCursor(0, IDC_ARROW);
RegisterClassExW(&wc);
CreateWindowExW(NULL, wc.lpszClassName, L"Windows",
WS_OVERLAPPEDWINDOW,
x_pos, y_pos, width, height, NULL, NULL, NULL, NULL);
}
void show()
{
ShowWindow(hWnd, SW_SHOW);
UpdateWindow(hWnd);
}
};
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
PWSTR lpCmdLine, int nCmdShow) {
MSG msg;
Widget widget(640, 360, 0, 0);
widget.show();
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int) msg.wParam;
}
Editor is loading...