Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.13;
Скачать: CL | DM;

Вниз

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

 
Alexander_D6_XP   (2002-06-03 13:53) [0]

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

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

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

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

Саша.


 
Song ©   (2002-06-03 14:15) [1]

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

Edit:=TEdit.Create(Form)
..

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


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

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

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


 
Song ©   (2002-06-03 14:42) [3]

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


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

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


 
Song ©   (2002-06-03 14:47) [5]

***************************
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;
*************************

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


 
Alexander_D6_XP   (2002-06-03 15:06) [6]

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

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


 
Song ©   (2002-06-03 15:14) [7]

>> (для меня не понятно) как у этой формы события описать?
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:46) [8]

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



Страницы: 1 вся ветка

Текущий архив: 2002.06.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
7-40192
Sasha9
2002-02-24 13:51
2002.06.13
Вопрос Реальным Мастерам


7-40193
EsKor
2002-03-18 08:20
2002.06.13
Таймауты при чтении COM-порта


6-40128
Schummi
2002-03-24 09:39
2002.06.13
проверить соединение с интернетом


8-40117
Sting
2002-01-20 19:45
2002.06.13
Дисторшн


4-40216
Son
2002-04-08 18:36
2002.06.13
Возможно ли перехватить сообщение windows