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

Вниз

динамическое создание кнопки   Найти похожие ветки 

 
Тимофейка   (2006-05-17 22:33) [0]

вот кнопку создаю
var
ok:TButton;
begin
ok := TButton.Create(nil);
ok.Parent := form1;
ok.Top := 40;
ok.Left := 0;
ok.Caption:= "OK";

подскажите как создать для этой же кнопки событие онклик,например чтоб по нажатию закрывалось form1


 
Gydvin ©   (2006-05-17 22:39) [1]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
   procedure CloseClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var
ok:TButton;
begin
ok := TButton.Create(nil);
ok.Parent := form1;
ok.Top := 40;
ok.Left := 0;
ok.Caption:= "OK";
ok.OnClick:=CloseClick ;

end;

procedure TForm1.CloseClick(Sender: TObject);
begin
close
end;


 
Джо ©   (2006-05-17 22:44) [2]

"Создать событие" нельзя. Можно назначить его обработчик. Завести, например, в классе формы, метод с параметрами, которые требуются обработчику и просто присвоить его экземпляру кнопки. Вот так:

 TForm1 = class(TForm)
   ...
 private
   procedure OnClickEventHandler (Sender: TObject);
   ...
 end;

implementation

procedure TForm1.OnClickEventHandler(Sender: TObject);
begin
 Close
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 Button: TButton;
begin
 Button := TButton.Create(Self);
 Button.Parent := Self;
 Button.OnClick := OnClickEventHandler;
end;


Также, обрати внимание, что использование переменной form1 — в общем случае — не есть хорошо.


 
Gydvin ©   (2006-05-17 22:46) [3]

Ну конечно же self, незаметил  ((((


 
Тимофейка   (2006-05-17 22:57) [4]


> Джо

яя пытаюсь раобраться работу с плагинами в приложении...мне нужно чтобы при загрузке плагина создавались кнопки,лебелы и .т.д с соответствующими событиями, как лучше это реализовывать, через dll или bpl ?


 
Kolan ©   (2006-05-17 23:40) [5]

Через COM неплохо. Только азбираться надо....



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

Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.042 c
2-1147771355
Konnor
2006-05-16 13:22
2006.06.04
Окно сообщения


15-1147153694
Мефисто
2006-05-09 09:48
2006.06.04
Искусство программирования на Ассемблере. 3-е изд. Как оно?


15-1146930890
Nick Denry
2006-05-06 19:54
2006.06.04
как настроить apache локально?


4-1142334849
DelphiLexx
2006-03-14 14:14
2006.06.04
При нажатии клавиши передавать символ в два окна


1-1145892988
Meganop
2006-04-24 19:36
2006.06.04
Вызов chm файла из Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский