Здравствуйте IceHand, Вы писали:
IH>Немогу разобраться как сохранить CTreeCtrl в файл.
IH>Вроде бы в меню SDI приложения же ессть меню сохранить
Есть. По-умолчанию вызывается CYourDocument::OnSaveDocument
IH>и класс стандартный поддерживает сериализацию.
Кто, дерево? Не, оно сериализацию не поддерживает.
IH>Вобщем объясните как что нужно делать.
Написать функцию, которая будет обегать твое дерево и сохранять все данные в CArchive. Какие данные нужно сохранять и в каком виде — известно только тебе. Будет что-то вроде...
void SerializeTree(HTREEITEM hti, CArchive& ar)
{
CString text = your_tree.GetItemText(hti); // не помню синтаксиса MFC-шного дерева, извиняй
ar << text;
DWORD data = your_tree.GetItemData(hti);
ar << data;
// Сохранить чего-нибудь еще
...
// Сохранить кол-во детей
int childnum = your_tree.GetChildrenCount(hti); // ну не помню точного имени функции
ar << childnum;
// сохранить каждого из дитёнков
HTREEITEM hchild = your_tree.GetChildItem(hti);
while(hchild != NULL)
{
SerializeTree(hchild, ar);
hchild = your_tree.GetNextSiblingItem(hti);
}
}
Чтение по образу и подобию.