![]() |
|
|
![]()
|
|
| 17dufa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
добрый день.
дело должно обстоять так: пользователь жмет кнопочку, появляется окошко, в котором пользователь задает фильтр, пользователь жмет ок, прога выбирает по фильтру записи и выводит при помощи Document-View. сейчас у меня сделано так: пользователь жмет кнопочку. находится нужный CDocTemplate и вызывается OpenDocumentFile. А в обработчике CListView::Create происходит вот что:
где CFilter - диалог фильтра, который по OK считывает записи и заполняет ими документ. Во-первых, вообще решение кривое. Во-вторых, если пользователь в фильтре жмет Cancel он получает сообщение "Не удалось создать документ". Вот собственно это сообщение и хотелось бы убрать. решение типа:
приводят к тому, что сообщения нет, вьюхи нет, но вот главное меню соответствует рассматриваемому шаблону документа, а не главному окну. Вопросы: 1. Как нормально решается задача задания и применения фильтра? 2. Как по-другому избежать окошка "Не удалось создать документ"? 3. Как в рамках последнего решения полностью закрыть шаблон документа и вернуться в главное окно? Это сообщение отредактировал(а) 17dufa - 2.7.2009, 13:45 |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
А откуда вообще пришла дебильная мысль совместить создание (Create) и запрос фильтра? Нельзя мух от котлет отделить, т.е. делать по-очереди? Попробуй, ей-богу полегчает.
-------------------- ... |
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
ура есть ответ. мысль дебильная - не спорю. не менее дебилен тот способ, которым я сейчас собираюсь решить эту проблему.
собственно моим первым вопросом и было, как решается проблема фильтрации в нормальном виде? вот пользователь тыкает кнопочку, что делать? сейчас вызывается OpenNewDocument для соответствующего CDocTemplate. Вроде как надо в этом месте вывалить фильтр и тока по IDOK грузить фильтрованные данные и вызывать OpenNewDocument:
Идеальное решение за одним маленьким вопросом: куда эти самые данные грузить, если насколько я понимаю объект документа создается только после вызова OpenNewDocument Это сообщение отредактировал(а) 17dufa - 3.7.2009, 11:19 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Получи документ и грузи в него (к-й возвращает OpenNewDocument), куда ж еше.
-------------------- ... |
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
Earnest, спасибо. хоть и не до конца красиво получилось, но гораздо лучше чем было в начале. а копаться дальше не хотца.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |