Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2013, 20:27   #11
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Спасибо! Более-менее разобрался. Создал второе дочернее окно, скопировав
Код:
HWND hwndChild = CreateWindowEx(WS_EX_MDICHILD, L"MY_CHILD", L"", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwndClient, NULL, hInst, NULL);
	ShowWindow(hwndChild, SW_SHOW);
и переименовал в hwndChild1.
Теперь при закрытии одного из них закрывается вся программа

Вообще должно получится так:
в нескольких окнах в приложении можно рисовать, а в главном окне меню файл, правка итд. и отдельные кнопки типа новый файл сохранить, кнопки для вызова диалоговых окон всяких настроек рисунка. В общем что-то типа MDI paint'а.

сейчас мне непонятно чем должны отличаться эти окна, чтобы изменение настроек в главном окне действовали только на текущее активное окно (те же кнопки отменить\повторить)

ps. а где тут репутацию повышать?
x_Alex_x вне форума Ответить с цитированием
Старый 14.01.2013, 20:56   #12
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
Теперь при закрытии одного из них закрывается вся программа
Значит, в оконной процедуре дочернего окна затесался вызов PostQuitMessage.
Цитата:
чем должны отличаться эти окна, чтобы изменение настроек в главном окне действовали только на текущее активное окно
Своим хендлом.
Цитата:
в нескольких окнах в приложении можно рисовать, а в главном окне меню файл, правка итд.
Почитать по CreateMenu или из ресурсов грузить менюшку.
Главное принцип понять: Главное окно имеет дочерний MdiClient, а он уже выступает родителем для child-окон.
Можно нагло набросать кнопки на MdiClient для экспериментов, но это из стиля выбивается. Лучше сделать так: Окно mdiclient занимает не всю площадь главного окна, а смещена чуть ниже. И наверху главного окна расположить какую-нить панель и в ней сделать дублирование элементов меню.
EUGY вне форума Ответить с цитированием
Старый 14.01.2013, 21:12   #13
x_Alex_x
Пользователь
 
Регистрация: 13.01.2013
Сообщений: 94
По умолчанию

Вроде понятно
Ну теперь хоть есть от чего оттолкнуться. Буду экспериментировать))
x_Alex_x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Затиание дочерних окон x_Alex_x Помощь студентам 0 13.01.2013 12:56
MDI - исключение дочерних окон из перехода по ctrl+tab andrew_jr20 C# (си шарп) 0 12.01.2012 22:52
Закрытие и открытие дочерних MDI окон приложения chandrasecar Общие вопросы Delphi 4 16.05.2011 13:41
Поведение дочерних окон maryan.vetrov C# (си шарп) 9 27.02.2011 18:09
SetWindowPos для дочерних окон и битмапов. Alex Cones Общие вопросы Delphi 4 02.02.2011 13:49