![]() |
|
|
![]()
|
|
| dmitro88 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 23.1.2010 Репутация: нет Всего: нет |
Столкнулся с такой проблемой.
Написал универсальную функцию для вызова стандартных диалогов (поместил её в dll). Dll к моей программе подключается неявно. Суть проблемы: Не получается запустить диалог именно как МОДАЛЬНЫЙ. Т.е., диалог запускается,DoModal() вызывается , но работает как будто бы он создан при помощи Create() (в немодальном режиме). То есть,скорее всего, он запускается в другом потоке. Кто-нибудь может подсказать,как решить проблему? Фрагмент кода Dll:
Это сообщение отредактировал(а) dmitro88 - 23.1.2010, 22:10 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Вряд ли в отдельном потоке. Сам собой поток не запустится, а написать код и не знать об этом довольно сложно.
Под "немодальной" работой ты имеешь в виду, что остается доступным главное окно? Скорее всего, дело в том, что твоя DLL - не Extension, поэтому автоматом найти главное окно она не может, поэтому и не дизэблит при создании... Модальный-то цикл MFC эмулирует. Короче, нужно в твою Open... передавать указатель на главное окно. И, скорее всего, в виде HWND. Ну и передавать его во все конструируемые диалоги. А если хочешь, чтобы "само" работало, сделй Extension DLL. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |