Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизКак обработать событие 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c