![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызов процедуры. [D7, XP]
JohnKorsh © (2010-12-20 13:43:00)Извините за простоту вопроса, как грамотно вызвать процедуру нажатия кнопки при нажатии другой кнопки? (Одна кнока должна выполнять функции группы кнопок), т.е.
Что писать в параметре при вызове этой процедуры?
( procedure TMain_Form.B_D2_TClick( Sender: TObject);)
Ega23 (2010-12-20 14:02:00) [1]Простой пример
Новый проект, главная форма. Код такой:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure OnButtonClick(Sender: TObject);
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
var
i, aTop: Integer;
begin
aTop := 10;
for i := 1 to 5 do
begin
with TButton.Create(Self) do
begin
SetBounds(10, aTop, 90, 25);
Parent := Self;
OnClick := OnButtonClick;
Caption := 'Button ' + IntToStr(i);
end;
aTop := aTop + 25 + 10;
end;
end;
procedure TForm3.OnButtonClick(Sender: TObject);
begin
if (Sender is TButton) then
ShowMessage('Нажата кнопка ' + TButton(Sender).Caption)
else
ShowMessage('Неизвестный Sender');
end;
end.
JohnKorsh (2010-12-20 13:50:00) [2]Спасибо. Я отдельными процедурами и сделал, думал проще можно.
Ega23 (2010-12-20 13:48:00) [3]1. Если точно отвечать на вопрос, то
B_D2_TClick(Sender)
Если в данном методе Sender никак не используется, то указать nil
2. Если делать по уму, то заводится отдельный метод, в обработчике клика кнопки ставится его вызов. Соответственно, из обработчика другой кнопки тоже вызываешь этот метод.
Плохиш (2010-12-20 13:45:00) [4]<Button>.Click;