rendered paste body#include <windows.h>
HWND gg_hWnd;
HWND button1;
HWND button2;
LRESULT WINAPI WndProc(HWND,UINT,WPARAM,LPARAM);
WPARAM StartMessageLoop();
void RegAndCreateButton1(HINSTANCE hInstance);
void RegAndCreateButton2(HINSTANCE hInstance);
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
//RegisterWindow 1
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL , IDI_APPLICATION);
wc.hCursor = (HCURSOR)LoadCursor(NULL , IDC_ARROW); //Mouse Cursor
//wc.hbrBackground = (HBRUSH)GetStockObject(COLOR_BACKGROUND + 22); //background window colour
wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND + 1); //blue
wc.lpszMenuName = NULL;
wc.lpszClassName = "WinApp";
wc.hIconSm = NULL;
RegisterClassEx(&wc);
gg_hWnd = CreateWindowEx(
NULL,
"WinApp",
"Basic Windows Application",
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
//NULL,
100,
100,
648,
514,
GetDesktopWindow(),
NULL,
hInstance,
NULL
);
ShowWindow(gg_hWnd , SW_NORMAL);
RegAndCreateButton1(hInstance);
RegAndCreateButton2(hInstance);
INT result = StartMessageLoop();
return result;
}
LRESULT CALLBACK WndProc(HWND hWnd ,UINT msg , WPARAM wParam , LPARAM lParam)
{
switch(msg)
{
case WM_CREATE:
return 0;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_COMMAND:
return DefWindowProc(hWnd , msg , wParam , lParam);
}
WPARAM StartMessageLoop()
{
MSG msg;
while(1)
{
if(PeekMessage(&msg , NULL , 0 , 0 , PM_REMOVE))
{
if(msg.message == WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
UpdateWindow(gg_hWnd);
UpdateWindow(gg_hWnd2);
}
}
return msg.wParam;
}
void RegAndCreateButton1(HINSTANCE hInstance)
{
WNDCLASSEX wc;
//RegisterWindow 1
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL , IDI_APPLICATION);
wc.hCursor = (HCURSOR)LoadCursor(NULL , IDC_ARROW); //Mouse Cursor
wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND + 21); //background window colour
wc.lpszMenuName = NULL;
wc.lpszClassName = "WinApp";
wc.hIconSm = NULL;
RegisterClassEx(&wc);
Button1 = CreateWindowEx(
NULL,
"button",
"button1",
WS_VISIBLE | BS_PUSHBUTTON | WS_CHILD ,
//NULL,
10,
10,
80,
40,
gg_hWnd, //child
NULL,
hInstance,
NULL
);
ShowWindow(Button1 , SW_NORMAL);
}
void RegAndCreateButton2(HINSTANCE hInstance)
{
WNDCLASSEX wc;
//RegisterWindow 1
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL , IDI_APPLICATION);
wc.hCursor = (HCURSOR)LoadCursor(NULL , IDC_ARROW); //Mouse Cursor
wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND + 21); //background window colour
wc.lpszMenuName = NULL;
wc.lpszClassName = "WinApp";
wc.hIconSm = NULL;
RegisterClassEx(&wc);
Button2 = CreateWindowEx(
NULL,
"button",
"button2",
WS_VISIBLE | BS_PUSHBUTTON | WS_CHILD ,
//NULL,
100,
100,
80,
40,
gg_hWnd, //child
NULL,
hInstance,
NULL
);
ShowWindow(Button1 , SW_NORMAL);
}