Главная страница
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.016 c
14-98313
Yuri Btr
2002-09-04 09:23
2002.09.30
Разрезание .exe на составляющие файлы


14-98270
AL2002
2002-09-02 17:28
2002.09.30
Есть какие-то тосты для программеров?


3-97987
MeryF
2002-09-09 16:33
2002.09.30
Вопрос по работе с DBGrid


1-98043
Hro
2002-09-19 00:05
2002.09.30
Excel


1-98162
Тень
2002-09-17 22:15
2002.09.30
Перевод из десятичной системы в двуричную.