Главная страница
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.012 c
4-98416
MDRLab
2002-08-13 21:04
2002.09.30
CD ROM: открыть - закрыть.


1-98174
PSERG
2002-09-18 10:24
2002.09.30
EhLib 2.0 Error!


3-97970
Kolyan!
2002-09-09 10:47
2002.09.30
Можно ли работать с dBase через dbExpress?


7-98363
Ученик
2002-07-18 12:46
2002.09.30
Запуск приложения из сервиса


14-98299
AL2002
2002-09-03 12:54
2002.09.30
Чем править RTF файлы, которые для хелпа