Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Дополнения к нижесказанному 22.07.03 09:01 Число просмотров: 1360
Автор: void <Grebnev Valery> Статус: Elderman
|
> В VC++ (в частности в MFC Class Wizard-е - вызывается > клавишей Ctrl-W) можно добавлять переменные в сгенеренный > класс. В частности в класс диалога можно добавить > переменные TreeView-а и TabCtrl-а.
Ты меня не понял. Нет проблем с созданием переменных.
TreeVew создаётся в классе CTreeView. Диалог, содержащий CTabCtrl
создаётся из другого вида, например, CFormView. Затем из CFormView создаются диалоги закладок CTabCtrl. Поэтому, при обработке перемещения по дереву я не могу вызвать методы диалогов (страниц таба), чтобы синхронизироватьсодержимое их контролов с селектом листа дерева.
Не могу не в том смысле, что вобще не могу, а втом, что при стандартном
подходе, без дополнительного манагера это можно сделать только коряво.
> Это правильно что не видят. Потому, что программист должен > сам знать чего хочет
Не обобщай. Посмотри на ссылку на концепцию паттернов в предыдущих постах в этом топике.
Там есть про медиатор и обжект обзервер. Они как раз и делаются для того,
чтобы всё знать об объектах.
> Но есть и более эффективный вариант (и более правильный с > точки зрения ООП). С TreeView-ом разобрались, а для страниц > правильнее сделать общий базовый класс, с описанием всех > функций, необходимых для работы (скорее всего виртуальных, > но это зависит от конкретной задачи).
Естественно класс написан.
>.... по CPP-овски. Вызов функции тоже можно считать сообщением,
Я бы сказал по другому - вызов функции должно быть реакцией на сообщение
> поэтому вместо FillControls(STARTUP) лучше делать прямой > вызов ClearControls()-ов.
Да, вот здесь я согласен. Об этом я напишу дальше отдельным постом
|
|
|