Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Правильное построение программы в MFC Doc\View

292
02 февраля 2006 года
Matush
726 / / 14.01.2004
Сделал SDI приложение Doc\View
окно разделил Сплиттером на две части
на левую часть нацепил CLeftView, а на левую CRightView.

Классы практически идентичные. Всередине классов есть CGridCtrl (типа ЛистВью продвинутый с CodeProject'а).

Есть менюшка, на которой кнопки редактрировать, добавить и т.д.
К примеру нажатие кнопки на левой панели отлавливаю через сообщения левой панели. Запускаю ДлгОкошко в котром что-то редактируется. Потом если надо в CGridCtrl делаю необходимые изменения.

То есть если мне надо редактировать данные из левой панели, то я отлавливаю мессадж через левую панель. Если надо с правой - то через правую.

А мне вот сейчас надо редактироват данные с левой панели, и исправить то чно находиться в правой. Но я имею доступ только до одной панели одновременно. Вот как решить трабл?

P.S. Думаю все эти проблемы из-за неправильной структуры программы.
398
02 февраля 2006 года
Alexandoros
630 / / 21.10.2005
Нада манагер окон писать. ИМХО я б так сделал.
292
03 февраля 2006 года
Matush
726 / / 14.01.2004
Цитата:
Originally posted by Alexandoros
Нада манагер окон писать. ИМХО я б так сделал.



Можно чуть подробней про идею менеджера окон?

398
03 февраля 2006 года
Alexandoros
630 / / 21.10.2005
Собственно это был бы не манагер окон, а , скорее манагер бизнес-логики программы (не знаю как назвать это по другому:) ). Типа События от одного контрола передаются манагеру, а он, соответсвенно их обрабатывает, и изменяет нужные значения других контролов. Естественно даный манагер "знает" обо всех контролах в пределах его подчинения.

Где-то так.
351
04 февраля 2006 года
PitxBull
633 / / 22.12.2004
Цитата:
Originally posted by Alexandoros
Собственно это был бы не манагер окон, а , скорее манагер бизнес-логики программы (не знаю как назвать это по другому:) ). Типа События от одного контрола передаются манагеру, а он, соответсвенно их обрабатывает, и изменяет нужные значения других контролов. Естественно даный манагер "знает" обо всех контролах в пределах его подчинения.

Где-то так.



Это называется паттерн Mediator.

292
06 февраля 2006 года
Matush
726 / / 14.01.2004
Короче сделал по правилам и все ОК.

Описание классов для отображения данны в Документе. Отображение этих данных в Виде.
Каждый вид может получить указатель на класс документа, а от туда уже и к данным.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог