#include <windows.h>
#include <stdio.h>
int x1,y1,x2,y2,x3,y3,x4,y4;
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,
WPARAM wParam, LPARAM lParam)
{
HDC hdc;
HDC new_hdc;
static HPEN hnp,hop;
static HBRUSH hnb;
static POINT ptBeg,ptEnd;
//char st[50];
//PAINTSTRUCT ps;
switch(msg)
{
case WM_CLOSE :
DestroyWindow(hwnd);
break;
case WM_CREATE:
hnp = CreatePen(PS_DOT,3,RGB(255,255,0));
hnb = CreateSolidBrush(RGB(0,0,0));
break;
case WM_DESTROY :
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN:
ptBeg.x = LOWORD(lParam);
ptBeg.y = HIWORD(lParam);
SetCursor(LoadCursor(NULL,IDC_CROSS));
break;
case WM_LBUTTONUP:
new_hdc=GetDC(hwnd);
SelectObject(new_hdc,hnp);
SelectObject(new_hdc,hnb);
Rectangle(new_hdc,ptBeg.x,ptBeg.y,LOWORD(lParam),HIWORD(lParam));
SelectObject(new_hdc, GetStockObject(WHITE_BRUSH));
ReleaseDC(hwnd,new_hdc);
break;
case WM_RBUTTONDOWN:
ptEnd.x = LOWORD(lParam);
ptEnd.y = HIWORD(lParam);
SetCursor(LoadCursor(NULL,IDC_CROSS));
break;
case WM_RBUTTONUP:
new_hdc=GetDC(hwnd);
SelectObject(new_hdc,hnp);
SelectObject(new_hdc,hnb);
Ellipse(new_hdc,ptEnd.x,ptEnd.y,LOWORD(lParam),HIWORD(lParam));
SelectObject(new_hdc, GetStockObject(WHITE_BRUSH));
ReleaseDC(hwnd,new_hdc);
break;
case WM_MOUSEMOVE :
SetCursor(LoadCursor(NULL,IDC_CROSS));
break;
/*
case WM_MOUSEMOVE :
{
hdc=GetDC(hwnd);
SetCursor(LoadCursor(NULL,IDC_CROSS));
if (wParam & MK_LBUTTON)
{
x1 = LOWORD(lParam);
y1 = HIWORD(lParam);
Ellipse(hdc,x3,y3,x1,y1);
}
if (wParam & MK_RBUTTON)
{
x2 = LOWORD(lParam);
y2 = HIWORD(lParam);
Rectangle(hdc,x3,y3,x2,y2);
}
break;
}
*/
}
return DefWindowProc(hwnd, msg, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd)
{
LPCTSTR className = "ClassName";
WNDCLASSEX wc;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName = className;
wc.hIconSm = LoadIcon(NULL, IDI_WINLOGO);
if (!RegisterClassEx(&wc))
{
MessageBox(NULL, "Error registering class",
"Error", MB_OK | MB_ICONERROR);
return 1;
}
HWND hwnd = CreateWindowEx(
0,
className,
"08 - Mouse Input",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
300, 300,
NULL,
NULL,
hInstance,
NULL
);
if (!hwnd)
{
MessageBox(NULL, "Error creating window",
"Error", MB_OK | MB_ICONERROR);
return 1;
}
ShowWindow(hwnd, nShowCmd);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0) > 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
}
--
------------------------~!~----------------------
Best Regards,
G.Arun Bala
B.Tech Information Technology
SSNCE,Kalavakkam
http://dmatriz.wordpress.com
-------------------------~!~---------------------
If you want a custom URL for this text, click here ($2/year)
If you want to create your own free URL , click here
|