读书人

按照孙鑫的方法画线发现有延迟?解决

发布时间: 2012-03-22 17:43:57 作者: rapoo

按照孙鑫的方法画线,发现有延迟????
小弟新学MFC,也方便写自己需要的程序。在读到第四章画线的第一种方法时,按照孙鑫的方法写好后,执行。
按下鼠标左键,拖动,松开左键,此时没有线条出现,再按一遍左键再松开,才会有线条出现。求解!!
我写的代码:
1:用MFC向导生成代码。
2:在CDrawView类下增加两个消息处理函数,分别是OnLButtonDown,OnLButtonUp,和一个用来保存起始点的变量。
3:void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
pt_original = point;
CView::OnLButtonDown(nFlags, point);
}

void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
HDC hdc;
hdc = ::GetDC(m_hWnd);
::MoveToEx(hdc,pt_original.x,pt_original.y,NULL);
::LineTo(hdc,point.x,point.y);
::ReleaseDC(m_hWnd,hdc);
CView::OnLButtonUp(nFlags, point);
}

[解决办法]
照着你的程序测试了一下
没有问题,第一次直线就画出来了
不知道你的pt_original是怎么定义的
还有就是,画线用的是CClientDC因此只要窗口被覆盖或者被刷新,直线就会消失的

读书人网 >VC/MFC

热点推荐