一些绘图或仿真软件都有这功能,随鼠标移动,始终有一条线从起点跟随到鼠标当前位置;这功能不只是随鼠标移动画线;实际要实现2个功能:擦除前一条线,再画一条从起点到当前鼠标位置的线;
环境Win10,VC6;新建一个单文档工程;
为视类添加鼠标移动消息处理函数;在其中画线;
为简单起见,设起点为(0,0),始终画一条线指向鼠标当前位置;
如果不进行擦除,效果是这样的;
视类头文件添加成员变量;pt1是起点,ptold为前一条线的终点;
CPoint ptold, pt1;
视类CPP文件构造函数中初始化;
ptold.x=0;
ptold.y=0;
pt1.x=0;
pt1.y=0;
视类鼠标移动消息处理函数代码:
void CLine1View::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CDC* pDC=GetDC();
//屏幕色取反,擦