Главная страница
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.47 MB
Время: 0.027 c
3-1114671429
Elast
2005-04-28 10:57
2005.06.06
SQL запрос


6-1111432519
Qwertyk
2005-03-21 22:15
2005.06.06
MAC from IP


1-1116534544
Green_Templar
2005-05-20 00:29
2005.06.06
возведение в квадрат


4-1113647803
HDD
2005-04-16 14:36
2005.06.06
Можно ли из Delphi напрямую обратиться к жесткому диску


10-1093501666
Vitalik
2004-08-26 10:27
2005.06.06
Создание COM сервера