我们平常画一条线,通常肯定是需要知道起点和终点的。mfc也一样。
我们先定义一个。变量CPoint的m_ptStart变量记录起点位置,起点是鼠标放下去的位置
创建按下鼠标事件:
void Ctest4View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_ptStart = point; //记录起点
CView::OnLButtonDown(nFlags, point);
}
在终点,做画线操作。方法很多。鼠标弹起来的事件
void Ctest4View::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
................
CView::OnLButtonUp(nFlags, point);
}
方法一:
HDC hdc; //申明hdc句柄
hdc = ::GetDC(m_hWnd); //调用全局的函数
MoveToEx(hdc,m_ptStart.x,m_ptStart.y,NULL); //移动到这个点
LineTo(hdc,point.x,point.y); //从当前位置划线结束
::ReleaseDC(m_hWnd,hdc);//释放dc,也是全局
方法二: