void CDrawtestView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TOD Add your message handler code here and/or call default
m_ptOrigin=point;
CView::OnLButtonDown(nFlags, point);
}
void CDrawtestView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TOD Add your message handler code here and/or call default
HDC hdc;
hdc=::GetDC(m_hWnd);
MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);
LineTo(hdc,point.x,point.y);
::ReleaseDC(m_hWnd,hdc);
CView::OnLButtonUp(nFlags, point);
}
书上说MoveToEx第二、第三个参数是新位置的坐标,那么为什么使用m_ptOrigin呢?这个应该是原来位置的呀。而新位置应该是point呀?
请高手解释一下!
5 个解决方案
#1
请问你的鼠标是先按下呢还是先弹起?
#2
无所谓新旧,关键看你想画什么样的线。
#3
```````````````````这段代码是话你按下鼠标后移动,到是释放鼠标,这两点之间的直线.
#4
MoveTo是移到那个点```它原来的点是(0,0),你要画的新的是你左键按下的,所以是m_ptOrigin
LineTo是画线到你那个点,所以是Up的时候的点`
LineTo是画线到你那个点,所以是Up的时候的点`
#5
明白楼上的了!
#1
请问你的鼠标是先按下呢还是先弹起?
#2
无所谓新旧,关键看你想画什么样的线。
#3
```````````````````这段代码是话你按下鼠标后移动,到是释放鼠标,这两点之间的直线.
#4
MoveTo是移到那个点```它原来的点是(0,0),你要画的新的是你左键按下的,所以是m_ptOrigin
LineTo是画线到你那个点,所以是Up的时候的点`
LineTo是画线到你那个点,所以是Up的时候的点`
#5
明白楼上的了!