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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2007, 08:53   #1
Arsgun
 
Аватар для Arsgun
 
Регистрация: 25.05.2007
Сообщений: 9
По умолчанию MDI приложение

Доброго времени суток!
Кто знает,как в MDI приложении закрыть активную дочернюю форму?
Заранее спасибо!
Arsgun вне форума Ответить с цитированием
Старый 29.05.2007, 09:30   #2
1nurik1
Пользователь
 
Регистрация: 28.05.2007
Сообщений: 10
Счастье

Все формы, которые являются дочерними, скрываешь.
Для этого в пункте меню Project-Options на вкладке
Forms все дочерние формы переносишь из auto-creates form в
available forms.
Вызов дочерней формы:
form2:=tform2.create(application);
form2.show;
Чтоб закрывалась, в событии OnClose у формы написать :
action:=cafree;
1nurik1 вне форума Ответить с цитированием
Старый 29.05.2007, 09:49   #3
Arsgun
 
Аватар для Arsgun
 
Регистрация: 25.05.2007
Сообщений: 9
По умолчанию

Мне нужно командой закрыть активное дочернее окно.
Как определить, какая форма является активной?
Arsgun вне форума Ответить с цитированием
Старый 29.05.2007, 10:05   #4
1nurik1
Пользователь
 
Регистрация: 28.05.2007
Сообщений: 10
Счастье

Я сделал так создал Unit м там описал глобальные переменные пример:
unit perem;
interface
var
frm2:byte; //справочник продукции
frm3:byte; //справочник заказчиков
frm4:byte; //заказы
frm5:byte; //приход продукции
frm6:byte; //изменение цены
frm7:byte; //разработчик
frm8:byte; //о программе
frm9:byte; //настройки
implementation
end.
Потом MDI форме в
procedure TForm1.FormCreate(Sender: TObject);
begin
frm2:=1;
frm3:=1;
frm4:=1;
frm5:=1;
frm6:=1;
frm7:=1;
frm8:=1;
frm9:=1;
end;
Затем при открытии контролировал чтобы форма не открывалась 2 раза
procedure TForm1.N6Click(Sender: TObject);
begin
if frm2=1 then begin
form2:=tform2.Create(application);
form2.Show;
frm2:=2;
end;
end;
Дальше в кнопке "Закрыть всё"
procedure TForm1.N26Click(Sender: TObject);
begin
if frm2=2 then form2.Close;
if frm3=2 then form3.Close;
if frm4=2 then form4.Close;
if frm5=2 then form5.Close;
if frm6=2 then form6.Close;
if frm7=2 then form7.Close;
if frm8=2 then form8.Close;
if frm9=2 then form9.Close;
end;

Незачто!
1nurik1 вне форума Ответить с цитированием
Старый 29.05.2007, 12:36   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

MainForm.ActiveMDIChild.Close;
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MDI-приложение Технолог Общие вопросы Delphi 6 02.05.2008 20:10
приложение к facebook ffffffffff Фриланс 1 14.03.2008 18:59
Консольное приложение a_priori Общие вопросы Delphi 6 12.03.2008 08:33
Пароль на приложение Chals Общие вопросы Delphi 6 24.11.2007 21:32
Консольное приложение MAcK Общие вопросы Delphi 2 03.12.2006 18:28