资源简介
按下鼠标左键,跟随鼠标轨迹画任意曲线,代码少,简单,实用,可以作为其他程序的一个小模块,利于学习
代码片段和文件信息
#include
#include
#include
//声明窗口过程函数
LRESULT CALLBACK WndProc(HWND hWndUINT uMsgWPARAM wParam LPARAM lParam);
//函数入口
int WINAPI WinMain(HINSTANCE hInstance
HINSTANCE hPrevInstance
LPSTR lpCmdLine
int iCmdShow )
{
//窗口类结构
WNDCLASS ws;
//填充窗口类结构
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);
///////////创建窗口类
HWND hwnd;
hwnd=CreateWindow(“1000“///窗口类名
“10003601班306宿舍“/////窗口标题
/*WS_OVERLAPPEDWINDOW||WS_VISIBLE8
200200//窗口位置坐标
800500//窗口大小*/
WS_OVERLAPPEDWINDOW
CW_USEDEFAULT
CW_USEDEFAULT
CW_USEDEFAULT
CW_USEDEFAULT
NULL//父窗口句柄
NULL//菜单句柄
hInstance//程序实例句柄
NULL);//窗口创建数据指针
//显示窗口
ShowWindow(hwndiCmdShow);
//更新窗口
UpdateWindow(hwnd);
//消息结构
MSG msg;
//进入消息循环
while(GetMessage(&msgNULL00))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
//消息函数程序结束
return 0;
}
//窗口处理函数
LRESULT CALLBACK WndProc(HWND hWndUINT uMsgWPARAM wParam LPARAM lParam)
{
//对消息判断
static POINT src;
static bool MouseDown;
switch(uMsg)
{
//消息重画
case WM_PAINT:
//设备环境描述句柄
HDC hdc;
//PAINTSTRUCT结构对象
PAINTSTRUCT ps;
hdc=BeginPaint(hWnd&ps);
//输出文字
TextOut(hdc00“我要想死“strlen(“我要想死“));
//释放资源
EndPaint(hWnd&ps);
break;
//退出消息
case WM_DESTROY:
//退出函数
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN:
MouseDown=true;
src.x = LOWORD(lParam);
src.y = HIWORD(lParam);
//记录鼠标位置A
break;
case WM_LBUTTONUP:
MouseDown=false;
break;
case WM_MOUSEMOVE:
if(MouseDown)
{
//取得鼠标位置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://窗口关闭
if(IDYES==MessageBox(hWnd“你真的要结束进程吗??““306宿舍“MB_YESNO))
{
DestroyWindow(hWnd);
}
break;
//调用默认消息处理函数
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
- 上一篇:STM32F4系列芯片中文学习资料
- 下一篇:zip、rar密码破解器
评论
共有 条评论