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

Вниз

Создание форм   Найти похожие ветки 

 
Stocker!   (2002-09-19 08:40) [0]

Такой вопрос:
Есть главная форма из неё вызывается форма Form1 двумя разными способами:
___________
| Гл. форма | - > From1.Create (одна форма со своими аттрибутами)
|___________| - > From1.Create (вторая форма со своими аттрибутами)

Как мне сделать так, чтобы создалось две таких формы (каждая со своими аттрибутами), но при этом если мы из главной формы их заново вызываем то они не создаются заново, а просто становятся активными


 
Separator ©   (2002-09-19 08:46) [1]

Просто обзови эти формы разными именами и создавай


 
Stocker!   (2002-09-19 10:22) [2]

2Separator В смысле разными именами мне одна и та же форма нужна, а создавать две одинаковых но отличающихся именами ... как то не по людски


 
Separator ©   (2002-09-19 10:25) [3]

А ты как хотел??? А ты как думаешь дельфи дщлжен различать к какой форме идет обращение???


 
Старый Паскалист   (2002-09-19 10:30) [4]

TMainForm = class()
private
FForm1No1: TForm1;
FForm1No2: TForm1;

procedure GetForm1No1: TForm1
//begin
// if FForm1No1 = nil then
// FForm1No1 := TForm1.Create(...ParamSet1);
// Result := FForm1No1;
//end;

procedure GetForm1No2: TForm1
//begin
// if FForm1No2 = nil then
// FForm1No2 := TForm1.Create(...ParamSet2);
// Result := FForm1No2;
//end;
public
property Form1No1: TForm1 read GetForm1No1;
property Form1No2: TForm1 read GetForm1No2;
end;

И обращаться к пропертям:

MainForm.Form1No1.SomeMethod...

(Только имена получше подбери)


 
Старый Паскалист   (2002-09-19 10:44) [5]

2Stocker!
Да, не заметил твоего

>2Separator В смысле разными именами мне одна и та же форма >нужна, а создавать две одинаковых но отличающихся именами ... >как то не по людски

Ты тогда скажи: обе формы у тебя выполняют одну функцию или разные? (функцию не в смысле function, а в смысле назначения)

Если разные, значит их нужно называть разными именами.
А если одну, то зачем тебе две формы?


 
Севостьянов Игорь ©   (2002-09-19 13:56) [6]

А почему не воспользоваться старым, добрым MDIForms ?


 
Stocker!   (2002-09-20 06:49) [7]

2All всем спасибо за советы разобрался


 
Stocker!   (2002-09-20 06:52) [8]

И такой небольшой вопросик:
Если форму свернули или сделали неактивной (форма не уничтожена) как её сделать активной?


 
Separator ©   (2002-09-20 07:08) [9]


{если основная форма минимизирована, восстанавливаем ее}
if IsIconic(Application.Handle) then
begin
Application.MainForm.WindowState := wsNormal;
ShowWindow(Application.Mainform.Handle, sw_restore);
end;
{передаем фокус приложению}
SetForegroundWindow(Application.MainForm.Handle);


Выдрал из Кулибы :)



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
14-98341
Степан
2002-09-04 10:06
2002.09.30
Компоненты как в XP


14-98277
NetBreaker666
2002-09-02 23:16
2002.09.30
---|Ветка была без названия|---


1-98083
Dmitriy Polskoy
2002-09-19 17:34
2002.09.30
Куда пропадает ключ?


14-98342
Format
2002-09-04 21:30
2002.09.30
Винда 98 не ставится!


1-98167
kex86
2002-09-16 01:48
2002.09.30
KbLayout