Вопрос № 71522: Здравствуйте уважаемые!У меня к вам два вопрса по MDI приложениям.
Первый:Как сделать чтобы при открытии дочерней формы главная оставалась активной т.е из неё можно было бы вызывать другие дочернии формы.
Второй:Как сделать чтобы закрывая гла...
Вопрос № 71.522
Здравствуйте уважаемые!У меня к вам два вопрса по MDI приложениям.
Первый:Как сделать чтобы при открытии дочерней формы главная оставалась активной т.е из неё можно было бы вызывать другие дочернии формы.
Второй:Как сделать чтобы закрывая главную форму закрывались все дочернии формы.
Отправлен: 18.01.2007, 13:49
Вопрос задал: Delphi-n (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: xXx
Здравствуйте, Delphi-n!
- 2 При закрытии, закрывать все дочерние формы, попробуй:
procedure TfrMain.OnClose(Sender: TObject);
var
i: integer;
begin
for i:= 0 to MdiChildCount - 1 do
MDIChildren[i].Close;
end;
Приложение:
Ответ отправил: xXx (статус: 6-ой класс)
Ответ отправлен: 18.01.2007, 15:58
Отвечает: Маренич Владимир
Здравствуйте, Delphi-n!
1. В концепции MDI приложения так и заложено: У Вас главная форма является активной по отношению к другим приложениям. А у дочерних окон "своя активность" - т.е. внутри активной главной формы есть только одна активная дочерняя. Но если у Вас на главной форме есть контролы, то тогда Вам нужно Активировать именно их (передать им ФОКУС): Button1.SetFocus. Можете попробовать Form1.SetFocus после показа дочернего окна (в событии OnShow).
2. На второй вопрос Вам уже ответили... Но я бы об этом не заботился, если указывать при создании дочернего окна параметр-владелец главную форму:
f:=TForm2.Create(Form1)
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 18.01.2007, 21:46