在MFC中绘制动态曲线,可以通过重写窗口类的OnDraw函数来实现
在MFC中绘制动态曲线,可以通过重写窗口类的OnDraw函数来实现。具体步骤如下:
- 在窗口类的头文件中定义需要绘制的曲线数据结构,例如:
classCMyView:publicCView
{
//曲线数据结构
CArray<CPoint,CPoint>m_points;
};
voidCMyView::OnDraw(CDC*pDC)
{
CRectrect;
GetClientRect(&rect);
//创建画笔
CPenpen(PS_SOLID,2,RGB(0,0,255));
CPen*pOldPen=pDC->SelectObject(&pen);
//绘制曲线
for(inti=1;i<m_points.GetSize();i++)
{
pDC->MoveTo(m_points[i-1]);
pDC->LineTo(m_points[i]);
}
pDC->SelectObject(pOldPen);
}
voidCMyView::AddPoint(CPointpoint)
{
m_points.Add(point);
Invalidate();
}
voidCMyView::OnMouseMove(UINTnFlags,CPointpoint)
{
if(nFlags&MK_LBUTTON)
{
AddPoint(point);
}
}
这样就可以实现在鼠标移动时动态绘制曲线的效果。
版权声明
本文仅代表作者观点,不代表博信信息网立场。