Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в run-time создать форму с кнопочками [D7, WinXP]


чяс ©   (2005-05-23 22:17:00) 

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


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

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


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

> чяс

Форма - тоже компонент и с ней работают в 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;


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

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


Eraser   (2005-05-23 22:25:00) [4]

чяс   (23.05.05 22:17)

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


Gero   (2005-05-23 22:21:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо