All pastes #292515 Raw Edit

Miscellany

public text v1 · immutable
#292515 ·published 2006-12-26 16:47 UTC
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);

}