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

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

Динамическая форма и параметры для неё?!


Alexander_D6_XP ©   (2002-06-03 13:53:00) 

Привет, знатоки!

Делаю приложение, в котором, в зависимости от _произвольно_ выбранного
элемента listbox-a создаётся форма. Application.CreateForm(...).

вопросы:
1. как мне сделать форму подругому, чтобы она появляласб на taskbar-e,
чтобы она по alt+tab была видна, но закрывалась при закрытии главной?
2. как мне в созданную форму передать какое-нибудь значение? (ведь имя я
формы у меня динамическое и элементы listbox-а тоже?

если кто-то что-то подскажет, то с радостью скажу спасибо :)

Саша.


Alexander_D6_XP   (2002-06-03 15:46:00) [1]

Спасибо :) Попробую :))


Song   (2002-06-03 15:14:00) [2]

>> (для меня не понятно) как у этой формы события описать?
MyDinamicForm:=TForm.Create(nil);
With MyDinamicForm Do
Begin
onClick:=
onKyDown:=
и т.д.
End;

Procedure Form1Destroy(Sender:TObject);
Begin
MyDinamicForm.Free;
End;

>>на таск баре она не появляется, т.к. приложение у нас только одно?! Как это сделать?

В onCreate формы:
SetWindowLong(MyDinamicForm.Hande,GWL_EXSTYLE,GetWindowLong(MyDinamicForm.Hande,GWL_EXSTYLE) or WS_EX_APPWINDOW);


Alexander_D6_XP   (2002-06-03 15:06:00) [3]

Супер! Спасибо, но осталась не решённой проблема:
- на таск баре она не появляется, т.к. приложение у нас только одно?! Как это сделать?

- (для меня не понятно) как у этой формы события описать?
// другие свойства и события
Спасибо большое


Song   (2002-06-03 14:47:00) [4]

***************************
implemantation
Var MyDinamicForm:TForm;
Edit:TEdit;

....

Procedure Button1Click(Sender:TObject);
Begin
MyDinamicForm:=TForm.Create(nil);
// другие свойства и события
Edit:=TEdit.Create(MyDinamicForm);
Edit.Parent:=MyDinamicForm;
End;

Procedure Button2Click(Sender:TObject);
Begin
IF Assigned(MyDinamicForm) then Edit.Text:="text";
End;
*************************

Пожалуйста обратился к элементу динамически созданной формы из статической.


Song   (2002-06-03 14:42:00) [5]

и в чём проблема ? Сделайте переменную Form глобальной...
Я не понимаю Вашего затруднения.


Игорь Шевченко   (2002-06-03 14:42:00) [6]

Список созданных форм, очевидно, делать. Или искать по Screen.Forms


Alexander_D6_XP   (2002-06-03 14:36:00) [7]

Так если я обратиться хочу со статической формы к динамически созданной?

Мне надо GeneratedFormName.Edit1.Text делать!


Song   (2002-06-03 14:15:00) [8]

1. Надо менять стиль - SetWindowLong()
2. Создавали например форму и едит
Form:=TForm.Create(nil)
...

Edit:=TEdit.Create(Form)
..

Чтобы потом обратиться к Edit нужно и использовать объект Edit
Edit.Text:="text";


Наверх

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