在MFC中,可以使用CDC类的LineTo()函数来画线。以下是一个示例代码:
class CMyClass
{
public:
// ...
CPoint m_ptStart; // 起始点坐标
CPoint m_ptEnd; // 终点坐标
void DrawLine(CDC* pDC); // 画线函数声明
};
void CMyClass::DrawLine(CDC* pDC)
{
CPen pen(PS_SOLID, 1, RGB(0, 0, 0)); // 创建一个黑色的画笔
CPen* pOldPen = pDC->SelectObject(&pen); // 选择画笔
pDC->MoveTo(m_ptStart); // 将画笔移动到起始点
pDC->LineTo(m_ptEnd); // 从起始点画线到终点
pDC->SelectObject(pOldPen); // 恢复原来的画笔
}
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据绘制代码添加绘制代码
CMyClass myClass;
// 设置起始点和终点坐标
myClass.m_ptStart = CPoint(50, 50);
myClass.m_ptEnd = CPoint(200, 200);
myClass.DrawLine(pDC);
}
这样,在自建类列表中,就能够画出一个起始点为(50, 50),终点为(200, 200)的直线了。