在MFC单文档中存储和传递数组

时间:2013-09-08 01:44:05

标签: c++ mfc

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

按下按钮时,捕捉起点。当鼠标移动时,画一条线。按下按钮时,捕捉最后一点。我使用line绘制一个多边形,所以我使用数组m_polygonx来存储一行的最终point.x,并使用m_polygony来存储最终的point.y,uint m_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];
        }
    }
}

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

0 个答案:

没有答案