Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2009, 14:28   #1
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию MDI (Delphi)

Добрай день!

Мне нужно создать MDI приложение. В условии говориться, что по мимо дочерних окон в главной форме должен быть PageControl для организации многостраничного меню настроек параметров активной дочерней формы.

В связи с этим, разрешите обратиться с рядом вопросов:
1) О каких параметрах активной дочерней формы идет речь?
2) И если я в главной форме начну лазить в PageControl-е, вообще -дочерняя форма будет активной (мне кажется, что доч.форма активна только тогда, когда она в фокусе)?
VadEr вне форума Ответить с цитированием
Старый 04.06.2009, 15:52   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
О каких параметрах активной дочерней формы идет речь?
Например на первой странице будут настройки цвета каждого контрола. на второй шрифта, на третьей размеров.

Запусти ВинВорд в меню Сервис-Параметры увидишь пример о чем в твоем задании речь
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2009, 16:06   #3
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Хорошо, а как переключая вкладки переключать доч.окна?

Попробовал так, но формы не так как надо переключаются.
Код:
MDIChildren[PageControl1.TabIndex].Show;
- первая вкладка не работает, а вторая включает по очереди 1-ю, затем 2-ю.
VadEr вне форума Ответить с цитированием
Старый 04.06.2009, 16:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попробуй Screen.Forms[PageControl1.TabIndex].Show
Или каждое окно в массиве держать.
Т.е. имеется ввиду что для каждой вкладки свое окно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.06.2009, 19:09   #5
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Другой вопрос, хочу выстроить доч.окна разными способами:
Код:
var
  i: byte;
begin
   for i:=0 to MDIChildCount-1 do
       MDIChildren[i].ArrangeIcons;
или
Код:
var
  i: byte;
begin
   for i:=0 to MDIChildCount-1 do
       MDIChildren[i].Cascade;
- окна на это не реагируют. Что я делаю не так?
VadEr вне форума Ответить с цитированием
Старый 29.04.2011, 14:45   #6
TriCERATOP
Пользователь
 
Аватар для TriCERATOP
 
Регистрация: 17.11.2008
Сообщений: 30
По умолчанию

Код:
procedure TMainForm.NCascadeClick(Sender: TObject);
begin
  Cascade;
end;

procedure TMainForm.NHorizontalClick(Sender: TObject);
begin
  TileMode:=TBHorizontal;
  Tile;
end;

procedure TMainForm.NVerticalClick(Sender: TObject);
begin
  TileMode:=TBVertical;
  Tile;
end;
У меня в программе это сделано так. Всё работает.

А у меня такой вопрос:
Как закрывать дочернюю форму?
Если использую метод Free - то форма просто сворачивается. А при использовании метода Destroy выдает ошибку.
Если есть проблемы -значит мы живем...
TriCERATOP вне форума Ответить с цитированием
Старый 30.04.2011, 18:12   #7
TriCERATOP
Пользователь
 
Аватар для TriCERATOP
 
Регистрация: 17.11.2008
Сообщений: 30
По умолчанию

Нашел ответ.

Если кому интересно:
Код:
procedure TfrChild.FormClose
      (Sender: TObject; var Action: TCloseAction);
begin
 Action := caFree;
end;
Если есть проблемы -значит мы живем...
TriCERATOP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. MDI HoLToFF Фриланс 1 31.05.2009 07:40
MDI и Access stan64 БД в Delphi 2 09.05.2008 23:53
MDI Окна RIO Общие вопросы .NET 8 06.05.2008 16:06
MDI FOrms SunKnight Общие вопросы Delphi 8 16.12.2007 11:17