Сложилась такая ситуация: основной модуль программы содержит mdi-окно, в котором нужно отобразить в режиме mdi-child окно из другого модуля (dll). Тупо сделать mdichild.show не получается - говорит, негде отобразить. Тогда я решил сделать форму с BorderStyle = None и ляпить ее на mdi-child, сделанный в основном модуле, с помощью SetParent. На форме из dll есть кнопка "закрыть", которая делает unload, но при этом контейнер естественно остается нетронутым.
Рассмотрел 2 выхода:
1. Сабклассинг контейнера. Перед уничтожением форма по идее должна отправить WM_PARENTNOTIFY контейнеру, но что-то его не видать.
2. Сабклассинг формы. Отловить WM_DESTROY и отправить тоже самое контейнеру. Делал SendMessage(mdichild.hwnd, WM_DESTROY, 0, 0), но он не реагирует, а на WM_NCDESTROY валится. Я туплю или где?
3. Какие еще возможны варианты?
И еще вопрос: как передать размер окна в lParam для WM_SIZE ?