Главная страница
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.018 c
1-98107
antonioxxx
2002-09-20 01:22
2002.09.30
Имя ехе-файла


1-98215
af
2002-09-18 17:37
2002.09.30
есть ли такой компонент типа нажимаешь на правую кнопочку


14-98317
VictorT
2002-09-03 14:59
2002.09.30
NT 4.0 & USB


3-97963
Dmitrey
2002-09-09 11:47
2002.09.30
Проблемы с выводом SELECT во внешние базы с MS SQL через ADO


8-98227
DSilence
2002-03-13 18:32
2002.09.30
Компонент загрузки JPEG,GIF,PNG,TIFF,PCX,BMP файлов