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

Вниз

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

 
Тимофейка   (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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
11-1128018077
Zoom
2005-09-29 22:21
2006.06.04
Как убрать приложение с таскбара...


2-1147629622
Mashulia
2006-05-14 22:00
2006.06.04
Помогите девушке


15-1147029232
SergProger
2006-05-07 23:13
2006.06.04
Настройка подключения


10-1120329675
Michael5
2005-07-02 22:41
2006.06.04
Как получить данные в формате Excel из буфера?


2-1148017662
ZV
2006-05-19 09:47
2006.06.04
Save and Load