Здравствуйте, Antonreka, Вы писали:
A>Никогда не занимался интерфейсами, и вот понадобилось создать вполне стандартный интерфейс:
A>слева группы на основе CTreeCtrl, справа список на основе CListCtrl. При выборе группы в дереве, слева загружается соответствующий список.
A>Подскажите, как это лучше всего реализовать? Как хранить все данные? Т.е. выбираем элемент в дереве и справа заполняется список. Как всё это хранить?
A>Пните в нужном направлении, куда копать? Если есть то ссылку на CodeProject/CodeGuru. Спасибо.
1) При выборе в узла дерево посылает сигнал правому списку.
2) При получении сигнала список справа обновляет свои данные.
То бишь все построено на извещение+реакция — каждый контрол сам отвечает за свои данные и манипулирование ими.
Если в понимании MFC Document-View
то как-то так
1) На выборе узла дерево записывает какой узел выбран в CDocument.
2) Дергает извещение
UpdateAllViews(this, HINT_UPDATE_TREEITEM_SELECTED);
3) Правый список получает извещение и обновляет данные
CMyListView::OnUpdate(CView* p, DWORD dwHint, CObject* p)
{
switch(dwHint) {
case HINT_UPDATE_TREEITEM_SELECTED:
//угу - узел изменился
//берем какие-то данные из CDocument
//обновляем данные в CMyListView
break;
}
}
Ну как-то примерно так. Хотя MFC Documents-View архитектура сама по себе для этого не нужна. Можно с нуля и на обычном диалоге изваять.