限制鼠标活动区域
可以写在view类的OnMouseMove中添加如下代码
if (nFlags&&MK_LBUTTON)
{
CWnd *hwnd = GetActiveWindow();
CRect rect;
hwnd->GetWindowRect(&rect);
ClipCursor(&rect);
}
当要恢复鼠标使用范围时调用ClipCursor(NULL);即可。
还有SetCapture()和ReleaseCapture()的使用
画弹性橡皮线
在view类里响应左键单击,以及鼠标移动和左键弹起消息
鼠标移动
CClientDC dc(this);
dc.SetROP2(R2_NOT);
dc.MoveTo(oldPoint);
dc.LineTo(newPoint);
dc.MoveTo(oldPoint);
dc.LineTo(point);
newPoint = point;
左键按下只需记录坐标点,鼠标弹起只需画线。
当要画其它图形时要麻烦很多,因为在鼠标移动时要用到画刷
画矩形
if (GetCapture()==this&& nFlags && MK_LBUTTON)