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

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

Динамический запуск формы [D6, XP]


Id ©   (2006-09-16 14:36:00) 

Здраствуйте.
Нужно в зависимости от выбора той или иной строки в ListBox-e
запускать разные формы. Для каждой строки своя форма. Подскажите, как это сделать??


Id   (2006-09-18 10:01:00) [1]

Спасибо за помощь, получилось.


Palladin   (2006-09-18 09:42:00) [2]

1.
в случае уже созданных форм добавляется в листбокс сам экземпляр формы

listbox.AddItem('form2',form2);
listbox.AddItem('form3',form3);
listbox.AddItem('form3',form3);
listbox.AddItem('form3',form3);


и позже

TForm(listbox.Items.Objects[listbox.ItemIndex]).ShowModal;

2.
либо в случае динамически создаваемых


listbox.AddItem('form2',TObject(Tform2));
listbox.AddItem('form3',TObject(Tform3));
listbox.AddItem('form4',TObject(Tform4));
listbox.AddItem('form5',TObject(Tform5));


и позже

With TFormClass(listbox.Items.Objects[listbox.ItemIndex]).Create(Nil) Do
Try
 ShowModal;
Finally
 Free;
End;


Id   (2006-09-18 09:23:00) [3]

Пробую вот так:

var
forma:TForm;
begin
  forma:=Form2;
  forma:=xxx.Create(form1);
  forma.ShowModal;
  forma.Free;
end;

Вместо "ххх", что нужно указать?


Desdechado   (2006-09-16 15:29:00) [4]

Например, анализом содержимого строки или связанного с ней признака в Objects


Наверх

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