CPen pen(PS_SOLID,5,RGB(255,0,0));//创建一个画笔工具
//CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
CWnd *pwnd=GetDlgItem(IDC_ShowImg);
CClientDC dc(pwnd);
dc.SelectObject(pBrush);//选择画笔
//dc.MoveTo(pt1);
//dc.LineTo(pt1.x,pt2.y);
//dc.LineTo(pt2.x,pt2.y);
//dc.LineTo(pt2.x,pt1.y);
//dc.LineTo(pt1);
dc.Rectangle(pt1.x,pt1.y,pt2.x,pt2.y);
上面的IDC_ShowImg是Picture控件的ID,dc.LineTo()为划线工具,dcRectangle();为画框工具,pt1、pt2应声明为全局变量,在鼠标按下时记下pt1,在鼠标弹起时记下pt2,将上面程序加入鼠标弹起回调函数OnLButtonUp(UINT nFlags,CPoint point){}中,就可以实现在按键弹起时绘出线或框
如果将上面程序加入鼠标移动回到函数OnLButtonMove(UINT nFlags,CPoint point){}中,则会在鼠标移动过程中绘制很多框