LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hpreventInst, LPSTR args,
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.lpszClassName = L"myWindows";
wc.lpfnWndProce = WindowProcedure;
if (!RegisterClassW(&wc)) {
CreatWindowW(L"myWindows", L"Window", WS_VISIBLE | WS_OVERLAPPEDWINDOW,
positionX, positionY, 500, 500, NULL, NULL, NULL, NULL);
while (GetMessageW(&msg, NULL, NULL, NULL)) {
LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
CreateWindowW(L"myWindows", L"MOVE",
WS_VISIBLE | WS_OVERLAPPEDWINDOW, 200, 200, 200, 200,
hWnd, (HMENU)BUTTON_MOVE, NULL, NULL, NULL);
return DefWindowProcW(hWnd, msg, wp, lp);
#include<windows.h>
#define BUTTON_MOVE 1
int positionX;
int positionY;
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hpreventInst, LPSTR args,
int ncmdshow) {
WNDCLASSW wc = {0};
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hInstance = hInst;
wc.lpszClassName = L"myWindows";
wc.lpfnWndProce = WindowProcedure;
if (!RegisterClassW(&wc)) {
return -1;
}
CreatWindowW(L"myWindows", L"Window", WS_VISIBLE | WS_OVERLAPPEDWINDOW,
positionX, positionY, 500, 500, NULL, NULL, NULL, NULL);
MSG msg = {0};
while (GetMessageW(&msg, NULL, NULL, NULL)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
switch (msg) {
case WM_COMMAND:
switch (wp) {
case BUTTON_MOVE:
positionX += 50;
break;
}
break;
case WM_CREATE:
CreateWindowW(L"myWindows", L"MOVE",
WS_VISIBLE | WS_OVERLAPPEDWINDOW, 200, 200, 200, 200,
hWnd, (HMENU)BUTTON_MOVE, NULL, NULL, NULL);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProcW(hWnd, msg, wp, lp);
break;
}
}