如果你希望在 CDrawingManager 类中添加两个公共方法 DrawLine 和 DrawLineA,可能是用于绘制直线的方法,以下是一个简单的示例供你参考:

在 CDrawingManager.h 头文件中声明方法:
// CDrawingManager.h 头文件
class CDrawingManager
{
public:
    void DrawLine(CDC* pDC, CPoint startPoint, CPoint endPoint, COLORREF color);
    void DrawLineA(CDC* pDC, CPoint startPoint, CPoint endPoint, COLORREF color, int lineStyle);
    // 其他成员和方法...
};

在 CDrawingManager.cpp 源文件中实现方法:
// CDrawingManager.cpp 源文件
void CDrawingManager::DrawLine(CDC* pDC, CPoint startPoint, CPoint endPoint, COLORREF color)
{
    CPen pen(PS_SOLID, 1, color);
    CPen* pOldPen = pDC->SelectObject(&pen);

    pDC->MoveTo(startPoint);
    pDC->LineTo(endPoint);

    pDC->SelectObject(pOldPen);
}

void CDrawingManager::DrawLineA(CDC* pDC, CPoint startPoint, CPoint endPoint, COLORREF color, int lineStyle)
{
    CPen pen(lineStyle, 1, color);
    CPen* pOldPen = pDC->SelectObject(&pen);

    pDC->MoveTo(startPoint);
    pDC->LineTo(endPoint);

    pDC->SelectObject(pOldPen);
}

这两个方法分别是 DrawLine 和 DrawLineA,其中 DrawLine 使用实线,而 DrawLineA 具有一个额外的参数 lineStyle,用于指定线的样式,例如 PS_DOT 表示点线。

使用这些方法时,你可以创建 CDrawingManager 的实例,并调用这两个方法来绘制线条。例如:
CDrawingManager drawingManager;
drawingManager.DrawLine(pDC, CPoint(10, 10), CPoint(100, 100), RGB(255, 0, 0));
drawingManager.DrawLineA(pDC, CPoint(20, 20), CPoint(150, 150), RGB(0, 0, 255), PS_DOT);

请根据你的实际需求进行适当调整。


转载请注明出处:http://www.pingtaimeng.com/article/detail/17584/MFC/CDrawingManager