資源簡介
按下鼠標(biāo)左鍵,跟隨鼠標(biāo)軌跡畫任意曲線,代碼少,簡單,實用,可以作為其他程序的一個小模塊,利于學(xué)習(xí)

代碼片段和文件信息
#include
#include
#include
//聲明窗口過程函數(shù)
LRESULT?CALLBACK?WndProc(HWND?hWndUINT?uMsgWPARAM?wParam?LPARAM?lParam);
//函數(shù)入口
int?WINAPI?WinMain(HINSTANCE?hInstance
???HINSTANCE?hPrevInstance
???LPSTR?lpCmdLine
???int?iCmdShow?)
{
//窗口類結(jié)構(gòu)
WNDCLASS?ws;
//填充窗口類結(jié)構(gòu)
ws.style=CS_VREDRAW|CS_HREDRAW;
??? ws.lpfnWndProc=WndProc;
ws.cbClsExtra=0;
ws.cbWndExtra=0;
ws.hInstance=hInstance;
ws.hIcon=LoadIcon(hInstanceIDI_APPLICATION);
ws.hCursor=LoadCursor(NULLIDC_ARROW);
ws.hbrBackground=(HBRUSH)GetStockobject(WHITE_BRUSH);
ws.lpszMenuName=NULL;
ws.lpszClassName=“1000“;//窗口類名
//注冊窗口類
RegisterClass(&ws);
///////////創(chuàng)建窗口類
HWND?hwnd;
hwnd=CreateWindow(“1000“///窗口類名
“10003601班306宿舍“/////窗口標(biāo)題
?/*WS_OVERLAPPEDWINDOW||WS_VISIBLE8
?200200//窗口位置坐標(biāo)
?800500//窗口大小*/
?WS_OVERLAPPEDWINDOW
?CW_USEDEFAULT
?CW_USEDEFAULT
?CW_USEDEFAULT
?CW_USEDEFAULT
?NULL//父窗口句柄
?NULL//菜單句柄
?hInstance//程序?qū)嵗浔?br/> ?NULL);//窗口創(chuàng)建數(shù)據(jù)指針
//顯示窗口
ShowWindow(hwndiCmdShow);
//更新窗口
UpdateWindow(hwnd);
//消息結(jié)構(gòu)
MSG?msg;
//進入消息循環(huán)
while(GetMessage(&msgNULL00))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
//消息函數(shù)程序結(jié)束
return?0;
}
//窗口處理函數(shù)
LRESULT?CALLBACK?WndProc(HWND?hWndUINT?uMsgWPARAM?wParam?LPARAM?lParam)
{
//對消息判斷
static?POINT?src;
static?bool???MouseDown;?
switch(uMsg)
{?
//消息重畫
case?WM_PAINT:
//設(shè)備環(huán)境描述句柄
HDC?hdc;
//PAINTSTRUCT結(jié)構(gòu)對象
PAINTSTRUCT?ps;
hdc=BeginPaint(hWnd&ps);
//輸出文字
TextOut(hdc00“我要想死“strlen(“我要想死“));
//釋放資源
EndPaint(hWnd&ps);
break;
//退出消息
case?WM_DESTROY:
//退出函數(shù)
PostQuitMessage(0);
break;
case???WM_LBUTTONDOWN:?
MouseDown=true;?
src.x?=?LOWORD(lParam);
src.y?=?HIWORD(lParam);
//記錄鼠標(biāo)位置A
break;?
case???WM_LBUTTONUP:?
MouseDown=false;?
break;?
case???WM_MOUSEMOVE:?
if(MouseDown)?
{?
//取得鼠標(biāo)位置B?
hdc=GetDC(hWnd);
//保存B為C?
//用背景色畫線LineTo(AC)?
//用前景色畫線lineto(AB)
MoveToEx(hdcsrc.xsrc.yNULL);
POINT?pcur;
pcur.x?=?LOWORD(lParam);
pcur.y?=?HIWORD(lParam);
LineTo(hdcpcur.xpcur.y);
src?=?pcur;
}?
break;?
case?WM_CLOSE://窗口關(guān)閉
if(IDYES==MessageBox(hWnd“你真的要結(jié)束進程嗎??““306宿舍“MB_YESNO))
{
DestroyWindow(hWnd);
}
break;
//調(diào)用默認(rèn)消息處理函數(shù)
default:
return?DefWindowProc(hWnduMsgwParamlParam);
}
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????172102??2011-10-25?22:32??Win32DrawLine\DrawLine\Debug\DrawLine.exe
?????文件?????196944??2011-10-25?22:32??Win32DrawLine\DrawLine\Debug\DrawLine.ilk
?????文件??????15413??2011-10-25?22:32??Win32DrawLine\DrawLine\Debug\DrawLine.obj
?????文件????3560568??2011-10-25?22:32??Win32DrawLine\DrawLine\Debug\DrawLine.pch
?????文件?????353280??2011-10-25?22:32??Win32DrawLine\DrawLine\Debug\DrawLine.pdb
?????文件?????132096??2011-10-25?22:32??Win32DrawLine\DrawLine\Debug\vc60.idb
?????文件??????77824??2011-10-25?22:32??Win32DrawLine\DrawLine\Debug\vc60.pdb
?????文件???????2908??2011-10-25?22:33??Win32DrawLine\DrawLine\DrawLine.cpp
?????文件???????3942??2011-10-25?22:33??Win32DrawLine\DrawLine\DrawLine.dsp
?????文件????????539??2011-10-25?22:31??Win32DrawLine\DrawLine\DrawLine.dsw
?????文件??????33792??2011-10-25?22:33??Win32DrawLine\DrawLine\DrawLine.ncb
?????文件??????48640??2011-10-25?22:33??Win32DrawLine\DrawLine\DrawLine.opt
?????文件????????720??2011-10-25?22:32??Win32DrawLine\DrawLine\DrawLine.plg
?????目錄??????????0??2011-10-25?22:32??Win32DrawLine\DrawLine\Debug
?????目錄??????????0??2011-10-25?22:33??Win32DrawLine\DrawLine
?????目錄??????????0??2011-10-25?22:31??Win32DrawLine
-----------?---------??----------?-----??----
??????????????4598768????????????????????16
評論
共有 條評論