Главная страница
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.015 c
15-1190797843
Ega23
2007-09-26 13:10
2007.11.11
Бесплатная Embedded-СУБД


2-1192520651
9899100
2007-10-16 11:44
2007.11.11
Поток


15-1190524333
vrem
2007-09-23 09:12
2007.11.11
Подскажите программу сделать vob!


15-1191966748
Petr V. Abramov
2007-10-10 01:52
2007.11.11
действительно сломалось все


2-1192557885
Riply
2007-10-16 22:04
2007.11.11
Помогите с оптимизацией.