Как в многооконном интерфейсе (MDI) при создании нового окна взять его содержимое из ресурса(диалог), при стандартном вызове DialogBoxParam диалог не принадлежит MDI окнам? Вообще можно ли построить окно по диалогу из ресурса не через множественные вызовы CreteWindow?
CreateDialogParam умеет создавать немодальное окно по шаблону из ресурсов. Такое окно вполне годится для MDI.
Quantum Да, но он не принадлежит клиентской области MDI, не показывается в списке окон и в результате его можно выдвинуть за пределы окна и при MAXIMIZE оно разворачивается на весь экран а не по клиентской области. Как его привязать к MDI через сообщение WM_MDICREATE? Если да то как?
Evg666 Надо сделать так, чтоб принадлежало. Для этого достаточно сделать это окно дочерним по отношению к MDI. CreateDialogParam(hInst, шаблон, hwnd MDI окна, ... В шаблоне обязательно указать стиль WS_CHILD!
Quantum Делаю так CreateDialogParam(hInst,DIALOG1,hwndMDIClient,..) У DIALOG1`а стоит WS_CHILD. В списке окон в меню которые он создает сам диалог не появился.Заголовок теперь никогда не становится активным(все время серый) за MDIClient область диалог не вылазиет на весь экран разворач. глюкаво. Может надо стиль WS_EX_MDICHILD, но я его не могу поставить в VS.Net его нет.
Получилось то что надо вот так. CreateDialogParam(hInst,DIALOG1,SendMessage(hwndMDIClient,WM_MDICREATE ,...),....) только нужно убирать заголовок окна. МДа в окне диалог может есть более изящный сособ без лишнего окна?