Прежде всего, вот мой конфиг:
VS2010/Debug/C++ Win32 Project/Vista Home Premium
Вызов GetOpenFileName
с помощью кнопки (CreateWindow
) в окне (CreateWindow
) не доставляет мне никаких проблем: открытый диалог работает нормально, я могу нажимать, переходить в другую папку и т. Д. *
Теперь я заменяю CreateWindow
на DialogBoxParam
(который должен вызывать CreateWindow
за кулисами) тем же (DLGPROC)WndProc
и вызываю тот же GetOpenFileName
. Здесь диалог открытия ведет себя странно: похоже, работает только двойной щелчок мыши (= заполнение ofn.lpstrFile
и закрытие диалога открытия). Невозможно нажимать кнопки «Открыть» и «Отмена» и не может перемещаться.
Кто-нибудь испытывал это раньше? Любые известные причины, по которым диалог Open как бы «завис». Принадлежит ли родитель или нет (ofn.hwndOwner = hwnd; ofn.hwndOwner = NULL;
) дает ту же проблему.
Спасибо
N