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

Вниз

Как в run-time создать форму с кнопочками   Найти похожие ветки 

 
чяс   (2005-05-23 22:17) [0]

Нашел статью Жизнь и смерт в Run-time
Создавать всё получается а чтобы что-нибудь при нажатии кнопки происходило тоже получается.
А вот создать форму а на ней кнопку чтобы что-нибудь при нажатии кнопки на созданной форме
что-нибудь происходило не получается
Приведите если можете код где это сделано полностью.


 
Gero ©   (2005-05-23 22:21) [1]

Что не получается?


 
Eraser ©   (2005-05-23 22:25) [2]

чяс   (23.05.05 22:17)

Нужно определить обработчик события для щелчка на кнопке (OnClick).


 
Anatoly Podgoretsky ©   (2005-05-23 22:32) [3]

Когда ты бросаешь компонент на форму, то выполняются две вещи
 1. Вызов Create
 2. установка Parent
Все это можно сделать и в рантайм.


 
Юрий Зотов ©   (2005-05-23 22:41) [4]

> чяс

Форма - тоже компонент и с ней работают в run-time точно так же, как и с любым другим компонентом. Единственное исключение - если Вы не проектировали ее в design-time, то вызывать надо не Create, а CreateNew. Еще форма не требует установки Parent"а, вместо этого надо вызывать Show или ShowModal.

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure FormButtonClick(Sender: TObject);
 end;

procedure TForm1.Button1Click(Sender: TObject);
var
 Form: TForm;
begin
 Form := TForm.CreateNew(Application);
 Form.Position := poDefault;
 with TButton.Create(Form) do
 begin
   Caption := "Click me!";
   Parent := Form;
   SetBounds((Form.Width - Width) div 2, (Form.Height - Height) div 2, Width, Height);
   OnClick := FormButtonClick
 end;
 Form.OnClose := FormClose;
 Form.Show
end;

procedure TForm1.FormButtonClick(Sender: TObject);
begin
 ShowMessage("Hello, world!")
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Action := caFree
end;


 
чяс   (2005-05-24 00:15) [5]

спасибо попробую



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
4-1113834123
Nomolos
2005-04-18 18:22
2005.06.06
Проблема с ловушкой для мыши


14-1116503646
syte_ser78
2005-05-19 15:54
2005.06.06
Алгоритм разбивки экселевской таблици


14-1116316875
stone
2005-05-17 12:01
2005.06.06
«Велик могучим русский языка!»


1-1116840131
Толян
2005-05-23 13:22
2005.06.06
Управлением системной консоли из своего приложения


4-1113768692
_Ramon_
2005-04-18 00:11
2005.06.06
Определение имени приложения, окно которого активно