Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание MDI-Child окна в режиме Visible=false [D6]


Страницы:   1 2

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 без всякого дополнительного гемора с невидимостью.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо