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

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

MDI интерфейс


alexey_mas ©   (2007-03-07 16:31:00) 

Прошу помочь с несколькими вопросами по MDI интерфейсу.
Есть MDIForm форма и несколько MDIChild форм.
нужно чтобы MDIChild форма запускалась один раз только.
делаю так:

procedure TMainForm.Work_stationClick(Sender: TObject);
var
f:Tadmin_station;
begin

if Assigned(admin_station) then
   admin_station.BringToFront
 else
 begin
   f:= Tadmin_station.Create(Application);
   f.Show;
 end;
end;

//admin_station- имя MDIChild формы

В результате на сторку admin_station.BringToFront никогда не попадаю. Assigned всегда false. И создается несколько форм. Почему Assigned всегда false?

Также на главную форму кидаю Panel. При появлении окон MDIChild панель перекрывает их(т.е. панель всегда получается сверху). Как сделать чтобы панель была видна только на главном окне?

Заранее спасибо.


Аноним   (2007-03-07 20:04:00) [1]


> Amoeba ©


> Задача изначально противоречит идеологии  MDI.

Не обязательно.
Один класс чайлда может и правда быть максимум в одном экземпляре, а другие уже во многих


Amoeba   (2007-03-07 19:09:00) [2]


> alexey_mas ©   (07.03.07 16:31)
>
> Прошу помочь с несколькими вопросами по MDI интерфейсу.
> Есть MDIForm форма и несколько MDIChild форм.
> нужно чтобы MDIChild форма запускалась один раз только.
> делаю так:

Задача изначально противоречит идеологии  MDI.


NiGGa   (2007-03-07 17:17:00) [3]

Соврал, прошу прощения


Плохиш   (2007-03-07 17:07:00) [4]

MDIMainForm не преднозначена для кидания на неё в область отображения MDIChildForm каких-либо визуальных компонентов.


NiGGa   (2007-03-07 17:06:00) [5]

Свойство Parent у дочерних форм есть
MDIChildForm.Parent := MDIForm.Panel


alexey_mas   (2007-03-07 16:41:00) [6]

спасибо получилось.
а по поводу панели не подскажешь?


SlymRO   (2007-03-07 16:34:00) [7]

procedure TMainForm.Work_stationClick(Sender: TObject);
begin
if Assigned(admin_station) then
  admin_station.BringToFront
else
begin
  admin_station:= Tadmin_station.Create(Application);
end;
end;


Наверх

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