При нажатии на кнопку вызывается функция член CTestView::CreatEditForLine
Код: Выделить всё
void CTestView::CreatEditForLine(int i, CPoint point, CClientDC &dc)
//point координата конца линии
{Count=new CEdit;
CPoint Temp;
Temp.x=point.x;
Temp.y=point.y;
dc.LPtoDP(&Temp);
Count->Create(WS_CHILD |WS_VISIBLE |WS_BORDER, (CRect((Temp.x)+10,Temp.y,Temp.x+55,Temp.y+25)),
this,ID_EDIT);
pDoc->m_Line_Test[pDoc->m_Line_Test.GetSize()-1]->m_Edit_Test.Add(Count);
//где pDoc указатель на класс документа,
}
// m_Line_Test- массив обектов класса CLine
Код: Выделить всё
class CTestDoc : public CDocument
{
CTypedPtrArray<CObArray, CLine *> m_Line_Test;
};
// m_Edit_Test-массив обектов класса CEdit.
Код: Выделить всё
class CLine : public CShape
{
CTypedPtrArray<CObArray, CEdit *> m_Edit_Test;
};
CShape порожден от CObject
При рисовании линии рисуется EditBox. И указатель на обект CEdit записывается в массив m_Edit_Test.
Делаю сериализацию
Код: Выделить всё
void CTestDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
m_Line_Test.Serialize(ar);
}
else
{
m_Line_Test.Serialize(ar);
}
}
void CLine::Serialize(CArchive & ar)
{
CObject::Serialize(ar);
if(ar.IsStoring())
{
m_Edit_Test.Serialize(ar);
}
else
{
m_Edit_Test.Serialize(ar);
}
}
Но при сохранении документа выдается сообщение «Failed to save document»
Скажите пожалуйста как мне сериализировать EditBox,
Заранее благодарю,