![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;