Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

форму - дочернее окно другого приложения?

3.3K
11 августа 2004 года
Татьяна
17 / / 23.01.2004
Как сделать свою форму дочерним окном другого приложения?
1
11 августа 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Татьяна
Как сделать свою форму дочерним окном другого приложения?


Что имеется ввиду под "другим приложением"? Ваша форма должна создаватся как MDIChild.

621
12 августа 2004 года
Бешеный кролик
151 / / 23.03.2004
Цитата:
Originally posted by kot_

Что имеется ввиду под "другим приложением"? Ваша форма должна создаватся как MDIChild.



А почему обязательно как MDIChild? MDI-интерфейс часто бывает неудобен. Непонятно только что значит дочерней формой другого приложения?

294
12 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Татьяна
Как сделать свою форму дочерним окном другого приложения?



Примерно так:

 
Код:
lStyle = GetWindowLong(MyForm->Handle, GWL_STYLE);
     lStyle = lStyle | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
     SetWindowLong(MyForm->Handle, GWL_STYLE, lStyle);

     lStyle = GetWindowLong(MyForm->Handle, GWL_EXSTYLE);
     lStyle = lStyle | WS_EX_MDICHILD | WS_EX_WINDOWEDGE;
     SetWindowLong(MyForm->Handle, GWL_EXSTYLE, lStyle);

     SetParent(MyForm->Handle, ParentForm->Handle);
3.3K
16 августа 2004 года
Татьяна
17 / / 23.01.2004
Спасибо, Plisteron. Но еще есть проблемы:1) эта дочерняя форма сворачивается как - то не так: Если родителем сделать калькулятор, попадает под кнопки, если Excel - вообще пропадает с экрана 2)При закрытии родительской формы дочерняя не закрывается 3) Хотелось бы сделать так, чтобы дочерняя форма не выходила за пределы родительской.
294
17 августа 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Татьяна
Спасибо, Plisteron. Но еще есть проблемы:1) эта дочерняя форма сворачивается как - то не так: Если родителем сделать калькулятор, попадает под кнопки, если Excel - вообще пропадает с экрана 2)При закрытии родительской формы дочерняя не закрывается 3) Хотелось бы сделать так, чтобы дочерняя форма не выходила за пределы родительской.


Давно это было... Году в 2001-м... Когда я такими вещами занимался.
1) Кинь на форму панель и родительским окном делай эту панель.
2) Дочернюю форму по-любому закрывать придётся тебе, т.к. это не MDI, родительское окно ничего не знает о дочерних.
3) Странно... у меня было всё в порядке...
Впрочем, я привёл не кусок рабочего кода, а так, что вспомнилось. Над этим ещё работать и работать.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог