![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание MDI-Child окна в режиме Visible=false [D6]
TProgrammer © (2005-05-25 00:30:00)Вопрос в следующем, необходимо создать MDI-Child окно таким образом, чтобы оно при этом не отображалось. И лишь после выполнения определенных действий показать его.
На конструкцию ChildForm.Visible := False; VCL ругается, что MDI-Child нельзя сделать невидимым. Можно ли обойти это ограничение, и если да, то как ?
Digitman (2005-05-25 10:23:00) [21]
> Хочеться сделать так
мало ли чего тебе хочется !)
упомянутое ограничение введено отнюдь не Борландом из-за какого-то его каприза, это - фича MDI-механизма самой ОС
Johnmen (2005-05-25 10:23:00) [22]>TProgrammer
А что, чтение F1 по поводу MDIChild окон не авторитетно для тебя?
TProgrammer (2005-05-25 10:20:00) [23]Еще раз, что нужно. Есть код:
...
Container := MDIContainerClass.Create(Application);
try
if Container.OpenWizard then
Container.Show
else
Container.Free;
except
Container.Free;
end;
...
Хочеться сделать так, чтобы во время исполнения OpenWizard созданная MDI-Child форма не маячила перед глазами.
TProgrammer (2005-05-25 10:13:00) [24]
> Запрети автоматическое создание MDIChild формы
Так у меня формы и так создаются динамически. И она далеко не одна такая.
> В обработчике закрытия формы поместить Action := caFree
> например
А это-то зачем ???
novice_man (2005-05-25 08:08:00) [25]Запрети автоматическое создание MDIChild формы (Project -> Options -> Forms ("перенести" форму в область "Available form")). В обработчике закрытия формы поместить Action := caFree например:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
И создавать/уначтожать форму по мере необходимости.
TProgrammer (2005-05-25 04:45:00) [26]
> Defunct © (25.05.05 01:02) [1]
> ну просто смешно порой становится от желания некоторых сделать
> что-то через з..цу.
Посмейся, может полегчает. Но если знаний не хватает сказать по существу, то лучше промолчать.
Defunct (2005-05-25 01:02:00) [27]> Вопрос в следующем, необходимо создать MDI-Child окно таким образом, чтобы оно при этом не отображалось. И лишь после выполнения определенных действий показать его.
ну просто смешно порой становится от желания некоторых сделать что-то через з..цу.
Что же тебе мешает вначале выполнить "определенные" действия, а потом создать MDIChild без всякого дополнительного гемора с невидимостью.