Translate |
Print |
Email |
del.icio.us |
A |
A |
A |
to
Convert
#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,2,RGB(0,0,255));
//hnb = CreateSolidBrush(RGB(0,0,0));
hnb = CreateHatchBrush(3,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_PAINT:
hdc=GetDC(hwnd);
Ellipse(hdc,10,10,200,300);
Rectangle(hdc,200,300,500,600);
SelectObject(hdc, GetStockObject(WHITE_BRUSH));
ReleaseDC(hwnd,hdc);
break;
case WM_LBUTTONDBLCLK:
MessageBox(hwnd,"Left Mouse Button DOUBLE Clicked","MOUSE OPTIONS",MB_OK);
break;
case WM_RBUTTONDBLCLK:
MessageBox(hwnd,"Right Mouse Button DOUBLE Clicked","MOUSE OPTIONS",MB_OK);
break;
case WM_MBUTTONDBLCLK:
MessageBox(hwnd,"Middle Mouse Button DOUBLE Clicked","MOUSE OPTIONS",MB_OK);
break;
/* case WM_NCLBUTTONDOWN:
MessageBox(hwnd,"Left Mouse Button in Non-Client Area","MOUSE OPTIONS",MB_OK);
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;
}
*/
case WM_KEYDOWN:
char str[20];
if(wParam >= 'A' && wParam <= 'Z')
{
// str = itoa(wParam);
sprintf(str," Button Pressed is %c",wParam);
MessageBox(hwnd, str ,"A-Z",MB_OK);
}
else if(wParam == VK_SHIFT)
MessageBox(hwnd,"Shift + Ctrl Key is pressed","Key",MB_OK);
else if(wParam == VK_ESCAPE)
{
MessageBox(hwnd,"Closing Windows ESC Key is pressed","ESC Key",MB_OK);
SendMessage(hwnd,WM_CLOSE,0,0);
}
break;
case WM_KEYUP:
if(wParam == 'Q')
MessageBox(hwnd,"Q is released","Q",MB_OK);
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,"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
-------------------------~!~---------------------
|