在vs2010中用MFC画线我响应鼠标左键右键消息来画线,但是画的线要刷新一下才能显示(点击一下左键或右键)
你如我连续拖动几次鼠标后再点击一下鼠标左键,几条线同时出现,如果我拖动后不进行任何操作,那些线都不会显示voidCDrawView::OnLButtonDown(UINT...
你如我连续拖动几次鼠标后再点击一下鼠标左键,几条线同时出现,如果我拖动后不进行任何操作,那些线都不会显示
void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
/*if(nFlags==(MK_LBUTTON|MK_SHIFT))
this->MessageBox("你按下啦shift键","提醒",strlen("提醒"));
this->MessageBox("大家好","提醒",strlen("提醒"));*/
pta=point;
CView::OnLButtonDown(nFlags, point);
}
void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
/*HDC hdc;
hdc=::GetDC(m_hWnd);
ptb.x=point.x;
ptb.y=point.y;
MoveToEx(hdc,pta.x,pta.y,NULL);
LineTo(hdc,ptb.x,ptb.y);
::ReleaseDC(m_hWnd,hdc);*/
ptb=point;
CClientDC dc(this);
dc.MoveTo(pta);
dc.LineTo(ptb);
//ReleaseDC(&dc);
CView::OnLButtonUp(nFlags, point);
} 展开
void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
/*if(nFlags==(MK_LBUTTON|MK_SHIFT))
this->MessageBox("你按下啦shift键","提醒",strlen("提醒"));
this->MessageBox("大家好","提醒",strlen("提醒"));*/
pta=point;
CView::OnLButtonDown(nFlags, point);
}
void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
/*HDC hdc;
hdc=::GetDC(m_hWnd);
ptb.x=point.x;
ptb.y=point.y;
MoveToEx(hdc,pta.x,pta.y,NULL);
LineTo(hdc,ptb.x,ptb.y);
::ReleaseDC(m_hWnd,hdc);*/
ptb=point;
CClientDC dc(this);
dc.MoveTo(pta);
dc.LineTo(ptb);
//ReleaseDC(&dc);
CView::OnLButtonUp(nFlags, point);
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询