| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Dll и модальный диалог |
| Автор: dmitro88 23.1.2010, 19:38 | ||
| Столкнулся с такой проблемой. Написал универсальную функцию для вызова стандартных диалогов (поместил её в dll). Dll к моей программе подключается неявно. Суть проблемы: Не получается запустить диалог именно как МОДАЛЬНЫЙ. Т.е., диалог запускается,DoModal() вызывается , но работает как будто бы он создан при помощи Create() (в немодальном режиме). То есть,скорее всего, он запускается в другом потоке. Кто-нибудь может подсказать,как решить проблему? Фрагмент кода Dll:
|
| Автор: Earnest 25.1.2010, 11:08 |
| Вряд ли в отдельном потоке. Сам собой поток не запустится, а написать код и не знать об этом довольно сложно. Под "немодальной" работой ты имеешь в виду, что остается доступным главное окно? Скорее всего, дело в том, что твоя DLL - не Extension, поэтому автоматом найти главное окно она не может, поэтому и не дизэблит при создании... Модальный-то цикл MFC эмулирует. Короче, нужно в твою Open... передавать указатель на главное окно. И, скорее всего, в виде HWND. Ну и передавать его во все конструируемые диалоги. А если хочешь, чтобы "само" работало, сделй Extension DLL. |