Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > вызвать MDI фрейм из SDI


Автор: d2e8k 16.7.2013, 13:30
Здравствуйте!
Имеется приложение (SDI Frame). 
Я пытаюсь по нажатию кнопки создавать окно с MDI(!) frame  с помощью такого кода:
      HWND hwnd = ::CreateWindowEx(
               0, "EDIT", "Caption" , 
               style,
               rcFramePos.left, rcFramePos.top, rcFramePos.Width(), rcFramePos.Height(), 
               m_hWnd, NULL, NULL, 0);
      ::ShowWindow(hwnd, SW_SHOW);

Где/как указать, что создаваемое окно будет иметь MDI frame?


Автор: Earnest 17.7.2013, 06:08
EDIT c MDIFrame? Не бывает. Эдит может быть только чайлдом и никак иначе.
Засунуть эдит в MDIframe можно, но для этого нужно создать минимум 4 окна.

Автор: d2e8k 18.7.2013, 09:52
EDIT не обязательно.
Надо создать MDIFrame по нажатию кнопки, а потом в нем вызвать OpenDocument().

Автор: Earnest 22.7.2013, 06:52
Ну так вперед, читай учебники. Или тебе про устройство Виндоус в двух словах рассказать? smile 
Подсказка: тебе нужно создать ЧЕТЫРЕ окна, как уже было сказано: MDI-фрейм, MDI-клиент, MDI child и собственно вид, в котором документ открывать будешь (можно эдит). Впрочем, последние два можно объединить наверное. Но лучше этого не делать, ибо в MFC рамка отдельно, вид отдельно, а оно тебе много букв сэкономит. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)