在 vs2017里写了一个画图的程序,为什么鼠标单击按下,拖动,线条画不出来?
问问用vc的人,我在vs2017里用C++,写了一个简单的单文档的工程,里面负责画线,画弧形。画线的功能,我定义一个类,里面定义了左键单击,鼠标移动的虚拟函数,在实现的地方我重载了这个类。当我在View下,鼠标单击按下,为什么线画不出来?代码都没问题。
选择工具条的直线,对应的代码:
//画直线
void CmyDrawView::OnShapeLine()
{
if (NULL != pCTool)
{
delete pCTool;
pCTool = NULL;
}
m_Rmenu = 4;
pCTool = new CLine();
pCTool->SetPenColor(m_pencolor);
pCTool->SetPenStyle(m_penstyle);
pCTool->SetPenWidth(m_penwidth);
}
鼠标单击,鼠标左键按下代码:
void CmyDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (pCTool != NULL)
{
::CClientDC dc(this);
pCTool->OnLButtonDown(point, datemanage, dc);
}
// CView::OnLButtonDown(nFlags, point);
}
鼠标松开代码
void CmyDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (pCTool != NULL)
{
::CClientDC dc(this);
pCTool->OnLButtonUp(point, datemanage, dc);
}
CView::OnLButtonUp(nFlags, point);
}
拖动代码
void CmyDrawView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (pCTool != NULL)
{
CClientDC dc(this);
pCTool->OnMouseMove(point, dc);
}
CView::OnMouseMove(nFlags, point);
}
不知道什么原因?