首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么利用鼠标实时进行画线

2012-09-01 
如何利用鼠标实时进行画线就是类似于windows自带的画笔工具中的铅笔那种效果,不是画直线,而是画出鼠标的整

如何利用鼠标实时进行画线
就是类似于windows自带的画笔工具中的铅笔那种效果,不是画直线,而是画出鼠标的整个移动轨迹。具体在ONLBUTTONUP和ONMOUSEMOVE等函数中应该添加什么样的代码?是要实时追踪鼠标移动的点,然后lineto出来么?

[解决办法]
WM_LBUTTONDOWN中保存鼠标按下的光标位置xMouse = LOWORD(wParam);
yMouse = HIWORD(lParam);
定义一个bool标志判断左键按下 bLButtonDown = true;

WM_MOUSEMOVE中
if(!bLButtonDown )
break;
//开始画线
MoveToEx (hdc,xMouse,yMouse,NULL);
然后获取移动时的光标位置 xMouse = LOWORD(wParam);
yMouse = HIWORD(lParam);
LineTo (hdc,xMouse,yMouse);
WM_LBUTTONDUP中
//重置按下标志值
if(bLButtonDown )
bLButtonDown = false;
大致就这样
[解决办法]
WM_MOUSEMOVE中
if(!bLButtonDown )
break;
//开始画线
MoveToEx (hdc,xMouse,yMouse,NULL);
然后获取移动时的光标位置 xMouse = LOWORD(wParam);
yMouse = HIWORD(lParam);
LineTo (hdc,xMouse,yMouse);
WM_LBUTTONDUP中
//重置按下标志值
if(bLButtonDown )
bLButtonDown = false;

热点排行