|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
|
StillPhelix |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.1.2016 Репутация: нет Всего: нет |
Написал на С++ программу, которая шифрует/дешифрует файлы. Начальные диалоги, которые задают параметры шифрования/дешифровки файлов вызываются либо через меню главного окна, либо путём перетвскивания в главное окно программы. При закрытии любого диалогового окна которые вызываются через меню и вызовы которых входят в блок операторов case WM_COMMAND, срабатывает оператор case WM_DROPFILES и функцией DialogBox(hInst,MAKEINTRESOURCE(IDD_ENCR_DECR_WIZARD),hWnd,WizardDlgProc) создаётся окно которое должно было создаваться только при перетаскивании файлов в главное окно программы. Отладчик Visual Studio в этом случае пишет, что hDrop=0x00009c44{unused=???}. Перетаскивание обрабатывается нормально и при этом hDrop=0x0017003c. Как проверить корректность дескриптора hDrop или как сделать так, чтобы при перехвате сообщения WM_DROPFILES не вызывальсь окно, в случае не корректного дескриптора hDrop. Код оконной процедуры приведен ниже.
|
|||
|
||||
StillPhelix |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 6.1.2016 Репутация: нет Всего: нет |
Проблема решена.
При закрытии диалогов, которые вызываются после перехвата сообщения WM_COMMAND, возникает сообщение WM_DROPFILES. Переменная wParam содержит идентификатор ресурса закрытого окна, из-за которого и было сгенерировано сообщение M_DROPFILES. |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Всё проще - у вас в switch (конкретно перед строкой 45) отсуствует break, поэтому ваш case WM_COMMAND после обработки проваливается в WM_DROPFILES (никакого сообщения не генерируется)
|
|||
|
||||
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |