Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
2-1147975150
Mr tray
2006-05-18 21:59
2006.06.04
WM_KEYDOWN не печатает символ


4-1142341098
Arhangel_isa
2006-03-14 15:58
2006.06.04
Помогите отследить завершение процесса архивирования


9-1130671062
Зм1й
2005-10-30 14:17
2006.06.04
Ошибка при проигрывании Avi


10-1120207226
Руслан
2005-07-01 12:40
2006.06.04
Открытие нового окна IE при использовании TWebBrowser.


1-1146055172
Deka
2006-04-26 16:39
2006.06.04
Импорт функций из сишной DLL... Вроде все просто, а не работает.




   Наверх