标签归档:CClientDC

MFC限制鼠标区域、画橡皮条线、任务栏显示图标、核对标记、文档背景色

限制鼠标活动区域
可以写在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)
read more