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

Ваш аккаунт

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

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

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

MDI приложения

520
16 сентября 2007 года
inkognitum
155 / / 03.05.2006
Добрый день.

ТАкая проблема.... впервые столкнулся с MDI приложениями в Borland, есть несколько проблем:

Делаю в свойствах формы MDIChildren, но все окна загружаются сразу при запуске, ладно делаю в свойствах option, чтобы автоматически не создавались. Но сразу возникает несколько проблем

1. Как мне вызывать формы в одном экземпляре? Я создаю форму с помощью new, ну естественно так можно вызвать энное количество форм... а мне надо 1 экземпляр каждого подчиненого окна

2. после того как создаю форму она почему то не закрывается! :( нажимаю на крестик а она просто сворачивается и все, закрыть не возможно..

как мне избавится от всех этих проблем?
3.2K
16 сентября 2007 года
nikipelovav
152 / / 12.04.2006
Почитай спраку про метод TCustomForm::OnClose. Там ответ - как закрыть MDI окно.

а по поводу 1-го экземпляра, не понял в чём проблема. ;)
Введи bool IsCreate переменную, и делай что-то вроде

 
Код:
if ( !IsCreate )
  {
     IsCreate = true;
     pForm = new TForm1(this);
     ...
  }
246
17 сентября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: inkognitum
Добрый день.

ТАкая проблема.... 2. после того как создаю форму она почему то не закрывается! :( нажимаю на крестик а она просто сворачивается и все, закрыть не возможно..

как мне избавится от всех этих проблем?



 
Код:
void __fastcall TMapDocForm::FormClose(TObject *Sender, TCloseAction &Action)
{
    Action = caFree;
}
263
17 сентября 2007 года
koltaviy
816 / / 16.12.2004
Цитата: nikipelovav
Почитай спраку про метод TCustomForm::OnClose. Там ответ - как закрыть MDI окно.

а по поводу 1-го экземпляра, не понял в чём проблема. ;)
Введи bool IsCreate переменную, и делай что-то вроде

 
Код:
if ( !IsCreate )
  {
     IsCreate = true;
     pForm = new TForm1(this);
     ...
  }


Либо делай кнопку (элемент меню и т.п.), по нажатию на которую у тебя создается окно, Enabled = false (Visible = false). А при закрытии подчиненной формы, помимо caFree выставляй Enabled = true (Visible = true).

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