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

Вниз

Форму в компонент   Найти похожие ветки 

 
Dimmu Borgir ©   (2004-01-04 14:05) [0]

Здраствуите.
Как в свой компонент запихать уже готовую форму?


 
Dimmu Borgir ©   (2004-01-04 16:04) [1]

Дополняю вопрос:
При нажатий на кнопку(компонент), вылезает форма содержащаяся в этом компоненте.


 
alless ©   (2004-01-04 16:13) [2]

var a:TForm;

procedure MyButtonClick(Sender:TObject)
begin
a:=TForm.Create(Self);
a.parent:=Form1;
a.top:=20;
a.Left:=20;
end;
ia tak poneal?


 
Dimmu Borgir ©   (2004-01-04 16:46) [3]

Дело в том что форму создавать не надо , ее надо просто запихать в компонент кнопки.Нажимаеш на кнопку компонент и появляется форма со всеми вещами на ней.
Проблема в том что при созданий компонента не получается создать
в нем форму(как в проекте).
Это как form1.ShowModal только из компонента.


 
Sandman25 ©   (2004-01-04 17:02) [4]

with TForm1.Create(nil) do
try
ShowModal;
finally
Free;
end;


 
alless ©   (2004-01-04 17:09) [5]

scaji dlea cego tebe ato forma?
vse cto na nei (kunopki, DBgrid-i, ...) mojno sozdovati dinamiceski.


 
Dimmu Borgir ©   (2004-01-04 23:23) [6]

Я сделал курсовик по Шифрованию данных в простой форме.
Препод сказал что курсач пишется по компоненту,
вот я и решил просто запихать сделанную форму в компонент.
Создавать все динамически у меня нет желания и времени т.к там около 20ти компонентов и код в 300 строк.

to Sandman25: форма должна открыватся не Create"ом ,а своя(заготовка).

Подскажите есть ли еще какой нибудь выход кроме создания всего динамически.


 
pasha ©   (2004-01-05 00:29) [7]

Доброй ночи Dimmu Borgir

type
TMyComp = class (TComponent)
private
public
procedure Execute;
published
end;
procedure Register;

implementation

function TMdListDialog.Execute: Boolean;
var
MyForm: TMyForm;
begin
MyForm := TMyForm.Create (nil);
try
ListBoxForm.ShowModal;
finally
MyForm.Free;
end;
end;

procedure Register;
begin
RegisterComponents("Comps", [TMyComp]);
end;

end

Если надо коментарии то дам их. А вообще книжки читать надо.
Удачи.


 
pasha ©   (2004-01-05 00:33) [8]

Доброй ночи Dimmu Borgir.
Извини но допустил ошибки в коде

procedure TMyComp.Execute;
var
MyForm: TMyForm;
begin
MyForm := TMyForm.Create (nil);
try
MyForm.ShowModal;
finally
MyForm.Free;
end;
end;

Копировал со своего компонента
А насчет кнопки
в обработчике OnClick
MyComp.Execute;
Удачи.


 
Zergling ©   (2004-01-05 07:35) [9]

А если хранить форму, как ресурс компонента? Ну, как TImage хранит в себе графический растр. Записать/считать некую форму из потока? Может это подойдет.


 
Sandman25 ©   (2004-01-05 10:38) [10]

[6] Dimmu Borgir © (04.01.04 23:23)

ф орма должна открыватся не Create"ом ,а своя(заготовка).

Ну и в чем проблема? Там же не TForm создается, а ВАША форма, c автоматическим созданием всех компонентов и обработчиков, которые Вы на нее в design-time накидали.



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
1-49481
miracle_fox
2004-01-04 13:18
2004.01.16
как сохранить в файл текст из richedit так, чтобы ...


7-49784
DimaK
2003-10-12 19:39
2004.01.16
MessageBox


3-49455
Andriy Tysh
2003-12-16 15:46
2004.01.16
Возвратить значение COMPUTE


14-49718
Layner
2003-12-25 10:20
2004.01.16
Автолюбители: в морозе кто как заводит.


3-49399
Евгений
2003-12-19 14:33
2004.01.16
Причина сообщения Could not find language drive.