Нужно создать дочернее окно

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Eugie, Romeo, Hawk

Ответить
Vitold S
Сообщения: 9
Зарегистрирован: 21 ноя 2004, 14:19

22 ноя 2004, 17:00

Как и где можно создать дочернее окно относительно главного приложения. Окно не должно быть MDI и оно не должно закрывать при своем закрытии родителя...
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

22 ноя 2004, 17:03

CreateWindow. Указать стиль WS_CHILD и не забыть передать парента.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Vitold S
Сообщения: 9
Зарегистрирован: 21 ноя 2004, 14:19

22 ноя 2004, 18:37

Я не совсем так задал вопрос. Окно должно быть WS_OVERLAPPED. То есть открыл главное окно и в нем выбрал интересующий раздел и открылось под окно при этом главное стало заблокированным. В общем все просто, вот только не могу понять как сделать так что бы окно CHILD не закрывала и родителя... Обьясните если можно... А то совсем глупый вопрос...
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

22 ноя 2004, 21:16

Оно и не будет закрывать, если это не оговорено заранее. Скажем так, если ты ничего специально не кодил , то закрытие окна не должно влечь за собой закрытие процесса.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Eugie
Сообщения: 707
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

24 ноя 2004, 13:16

Окно должно быть WS_OVERLAPPED.
Тогда это будет называться не дочернее окно, a owned window - не знаю, как это назвать по-русски :) Создается с помощью CreateWindow, только в стилях указывается не WS_CHILD, а WS_OVERLAPPED или WS_POPUP и в качестве hWndParent посылается хэндл окна-владельца (owner window).
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

24 ноя 2004, 13:28

Подчинённое - по-русски :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Eugie
Сообщения: 707
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

24 ноя 2004, 13:32

Кстати, диалоговые окна лучше всего подойдут, если нужно блокировать окно-владелец пока работаем с его клиентом. Вот, кстати, и нужное слово :)
Ответить