0

我正在做一个绘图工具的小项目。

按下按钮时,捕获起点。当鼠标移动时,画一条线。当按钮向上时,捕捉最后一点。我用line来画一个多边形,所以我用arraym_polygonx来存储一条线的final point.x,并m_polygony存储final point.y,uintm_count来计算最终点的数量。

这是我的代码:

void CDrawToolView::OnLButtonUp(UINT nFlags, CPoint point)
{
    m_startRect=FALSE;
    ::ClipCursor(NULL);
    dc.MoveTo(m_startPoint);  
    dc.LineTo(m_OldPoint);  
    dc.MoveTo(m_startPoint);  
    dc.LineTo(point);
    m_count++;
    m_polygonx[m_count] = point.x;
    m_polygony[m_count] = point.y;
}

然后我将数组传递给一个对话框。

在我的调用函数中:

void CDrawToolView::OnEditProperty()
{
    CPropertyDlg dlg;    
    dlg.origin_x = m_startPoint.x;
    dlg.origin_y = m_startPoint.y;
    dlg.count = m_count;
    for (int i=0; i < m_count ; i++)
    {
        dlg.polygonx[i] = m_polygonx[i];
        dlg.polygony[i] = m_polygony[i];
    }
    if (dlg.DoModal() == IDOK)
    {   
        m_startPoint.x = dlg.origin_x;
        m_startPoint.y = dlg.origin_y;
            m_count = dlg.count;
        for (int i=0; i < dlg.count ; i++)
        {
            m_polygonx[i] = dlg.polygonx[i];
            m_polygony[i] = dlg.polygony[i];
        }
    }
}

但是数组没有存储和成功传递。有人可以帮我吗?

4

0 回答 0