Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизMDIChild Найти похожие ветки
← →
Dr.Karter (2004-06-26 07:24) [0]Вот по мере изучения Дельфи, и написания на ней программ, столкнулся с проблемой:
Есть окно MDIForm и ряд других обычных окон.
Я методом тыка нашел выход по открытию их ввиде MDIChild
Form2.FormStyle:=fsMDIChild;
Form2.Show;
Все замечательно, только закрывать не получается!!!
Я это делаю пока (пока вы не подскажете как это делать правильно)
спомощью
Событие OnClose Form2.Destroy;
Но соответственно я открыть это окно больше не могу
Подскажите как это сделать правильно
← →
Dr.Karter (2004-06-26 07:32) [1]В FAQе я нашел эту функцию только как её реализовать у меня не получилось компилятор Выдает ошибку
← →
YurikGL © (2004-06-26 07:38) [2]в OnClose action:=cafree а в следующий раз надо будет его создавать заново.
← →
jb (2004-06-26 07:54) [3]Вообще, MDIChild окно, следует создавать заново, при каждом создании (или открытии) документа, на то он и MDI.
← →
Dr.Karter (2004-06-26 08:56) [4]Если можно напишите код для создания(открытия формы), а то я писал так:
Form2.FormStyle:=fsMDIChild; (FormStyle до этого был Normal)
Form2.Show;
И закрытия формы.
На каманду action:=cafree в OnClose
!Выдает ошибку Incompatible types: "TBasicAction" and "TCloseAction"
← →
тихий вовочка © (2004-06-26 09:07) [5]Обобщаю все вышесказанное.
Перед каждым выводом MDI-окна его надо создавать, например так:
TForm2.Create(Application), а для того, чтобы окошко у тебя закрывалось, а не минимизировалось, в обработчике TForm2.OnClose указывай Action := caFree;
← →
Dr.Karter (2004-06-26 09:08) [6]C Закрытием формы разобрался! Спасибо!
Как быть с
> jb (26.06.04 07:54) [3]
> Вообще, MDIChild окно, следует создавать заново, при каждом
> создании (или открытии) документа, на то он и MDI.
← →
Dr.Karter (2004-06-26 09:18) [7]Если можно войдите в ситуацию:
вот что я написал: (это обработка кнопки)
procedure TFMain.nDetalClick(Sender: TObject);
begin
// Это до получения информации про FkbDetal.Create(Application);
FkbDetal.FormStyle:=fsMDIChild;
Fkbdetal.Show;
end;
КУда теперь нужно впихнуть этот FkbDetal.Create(Application);
???
← →
YurikGL © (2004-06-26 09:19) [8]
> Dr.Karter (26.06.04 09:08) [6]
Суть в том, что заранее в инспекторе задать MDI окно или нет, потом при необходимости его отразить, - создавать его заново. А при закрытии - удалять
← →
Dr.Karter (2004-06-26 09:37) [9]Суть я понял! Я спрашиваю как эту суть в программный код конвертировать? :)
(: -А суть-то где?
-А суть они сюда...прямо в песок! :)
Т.е где этот FkbDetal.Create(Application);
писать? (В обработчик нажатии на кнопку или OnCreate той формы)
Покажите плиз. код создания формы (То что у меня было я привел в Dr.Karter (26.06.04 09:18) [7] )
← →
Dr.Karter (2004-06-26 09:52) [10]Получилось так:
При том что форма в панеле контроля задана уже как MDIChild
procedure TFMain.nDetalClick(Sender: TObject);
begin
TFkbDetal.Create(Application);
end;
А если как в моем случае, что форма по началу имеет вид Normal, а уже в программе я меняю на MDIChild
Или тогда выход из ситуации что при запуске программы сразу открываются Child окна?
← →
YurikGL © (2004-06-26 09:54) [11]1) задаем то, что окно MDIChild сразу в Инспекторе
2) в OnClose action:=cafree
3) Если необходимо отразить MDIChild-форму пишем FkbDetal:=TFkbDetal.create(application)
← →
Dr.Karter (2004-06-26 12:53) [12]Так все здорово работает! Только Child-форма на передний план вываливается при запуске программы (т.е запускается параллельно MDIForm), а таких форм у меня много.
Что сделать надо для этого?
Я делал превращение из Normal формы в MDIChild при обработке события нажатия на кнопку, но у меня получалось выводить это окно один раз.
Что делать чтобы эта(и) формы при запуске не отображались?
← →
YurikGL © (2004-06-26 13:02) [13]меню Project-options- убери нужные формы из auto-create
← →
Dr.Karter (2004-06-26 13:17) [14]Все! :D теперь СУПЕР! Спасибо огромное!
← →
1 (2004-06-26 17:52) [15]Action:=caFree;
Form2:=nil;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.03 c