Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

Как в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.013 c
4-1113677861
tek
2005-04-16 22:57
2005.06.06
Блокирование доступа к директории


3-1114546513
suharew
2005-04-27 00:15
2005.06.06
Как с помощью SQL показать первые 10 записей из базы


9-1110489198
Домовенок
2005-03-11 00:13
2005.06.06
[GLScene] Быстрое обращение к объектам


6-1111128147
leonidus
2005-03-18 09:42
2005.06.06
Копирование файлов по локальной сети


1-1116657594
seregka
2005-05-21 10:39
2005.06.06
Параграфы в Richedit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский