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

Вниз

Как обработать событие ONCLICK программно созданной кнопки?   Найти похожие ветки 

 
Lamer666   (2007-10-15 13:11) [0]

Всем добрый день!!
Как обработать событие ONCLICK программно созданной кнопки?
Чето поискал тут на форуме, ненашел....помню что было подобное обсуждение....
Помню что надо создать в TYPE объект с процедурой, а потом создать у этого объекта процедуру, и затем присвоить эту процедуру событию ONCLICK програмно созданной кнопки..
Помогите поажлта, спасибо"!


 
oldman ©   (2007-10-15 13:26) [1]


> потом создать у этого объекта процедуру


???

Событию можно присвоить уже существующую процедуру, имхо...


 
umbra ©   (2007-10-15 13:27) [2]

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   procedure MyClick(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 with TButton.Create(self) do
    begin
      Parent := Self;
      OnClick := MyClick;
      Name := "b1";
    end;

end;

procedure TForm1.MyClick(Sender: TObject);
begin
 showmessage("Привет, мир! Я новая кнопко!");
end;

end.


 
Ega23 ©   (2007-10-15 13:28) [3]


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 MyButtonClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 with TButton.Create(Self) do
  begin
    SetBounds(10, 10, 100, 25);
    Caption := "My Button";
    OnClick := MyButtonClick;
    Parent := Self;
  end;
end;

procedure TForm1.MyButtonClick(Sender: TObject);
begin
 ShowMessage(TButton(Sender).Caption + " Click!!!");
end;

end.


 
Leonid Troyanovsky ©   (2007-10-15 13:36) [4]


> Lamer666   (15.10.07 13:11)  

> Помню что надо создать в TYPE объект с процедурой, а потом
> создать у этого объекта процедуру,


type TMyButton = class(TButton)
 procedure Click; override;
 ..
end;

procedure TMyButton.Click;
begin
 inherited;
 MyClick;
end;

И ничего назначать не потребуется.
--
Regards, LVT.


 
homm ©   (2007-10-15 13:46) [5]

> Как обработать событие ONCLICK программно созданной кнопки?

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


 
Dib@zol ©   (2007-10-15 13:50) [6]

> Уверяю тебя, это намного проще, нежели назначить событие
> аппаратно созданой кнопке :)

Да почему? Панель управления - Электропитание - и назначай как угодно! :)


 
homm ©   (2007-10-15 13:57) [7]

> [6] Dib@zol ©   (15.10.07 13:50)
> Да почему? Панель управления - Электропитание - и назначай
> как угодно! :)

Это частный случай, попрбуй назначить событие нажатию кнопки, которая находится на каком-нибудь станке :)


 
Ega23 ©   (2007-10-15 13:58) [8]


> Да почему? Панель управления - Электропитание - и назначай
> как угодно! :)


Есть некое устройство, подключенное через USB. На устройстве есть "аппаратная" кнопка...  :)


 
Lamer666   (2007-10-15 15:59) [9]

СПАСИБО ОГРОМНОЕ !!!



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

Текущий архив: 2007.11.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
15-1191943278
$Pl@Sh
2007-10-09 19:21
2007.11.11
как устроить инет?


1-1187854786
Krants
2007-08-23 11:39
2007.11.11
Управление Excel через ProcessID


5-1163154368
Vladix
2006-11-10 13:26
2007.11.11
Редактор колонок при двойном щелчке


6-1173444998
vlavich
2007-03-09 15:56
2007.11.11
Проблема с установкой RAS соединения


4-1177584855
Iv_
2007-04-26 14:54
2007.11.11
Кнопка- Bitmap на WinAPI