阅读量:0
在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); // 恢复原来的画笔 }
- 在MFC的View类中的OnDraw()函数中调用自建类的画线函数:
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)的直线了。