![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обработать событие ONCLICK программно созданной кнопки? [D7, WinXP]
Lamer666 © (2007-10-15 13:11:00)Всем добрый день!!
Как обработать событие ONCLICK программно созданной кнопки?
Чето поискал тут на форуме, ненашел....помню что было подобное обсуждение....
Помню что надо создать в TYPE объект с процедурой, а потом создать у этого объекта процедуру, и затем присвоить эту процедуру событию ONCLICK програмно созданной кнопки..
Помогите поажлта, спасибо"!
Lamer666 (2007-10-15 15:59:00) [1]СПАСИБО ОГРОМНОЕ !!!
Ega23 (2007-10-15 13:58:00) [2]
> Да почему? Панель управления - Электропитание - и назначай
> как угодно! :)
Есть некое устройство, подключенное через USB. На устройстве есть "аппаратная" кнопка... :)
homm (2007-10-15 13:57:00) [3]> [6] Dib@zol © (15.10.07 13:50)
> Да почему? Панель управления - Электропитание - и назначай
> как угодно! :)
Это частный случай, попрбуй назначить событие нажатию кнопки, которая находится на каком-нибудь станке :)
Dib@zol (2007-10-15 13:50:00) [4]> Уверяю тебя, это намного проще, нежели назначить событие
> аппаратно созданой кнопке :)
Да почему? Панель управления - Электропитание - и назначай как угодно! :)
homm (2007-10-15 13:46:00) [5]> Как обработать событие ONCLICK программно созданной кнопки?
Уверяю тебя, это намного проще, нежели назначить событие аппаратно созданой кнопке :)
Leonid Troyanovsky (2007-10-15 13:36:00) [6]
> Lamer666 (15.10.07 13:11)
> Помню что надо создать в TYPE объект с процедурой, а потом
> создать у этого объекта процедуру,
type TMyButton = class(TButton)
procedure Click; override;
..
end;
procedure TMyButton.Click;
begin
inherited;
MyClick;
end;
И ничего назначать не потребуется.
--
Regards, LVT.
Ega23 (2007-10-15 13:28:00) [7]
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.
umbra (2007-10-15 13:27:00) [8]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.
oldman (2007-10-15 13:26:00) [9]
> потом создать у этого объекта процедуру
???
Событию можно присвоить уже существующую процедуру, имхо...