Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как к Button1 прилепить евент OnClick?


pvasya ©   (2002-09-06 20:53:00) 

создал run-time button1.
Как теперь к нему прилепить евент OnClick?


pvasya   (2002-09-07 00:14:00) [1]

всем спасибо.
если надо, то можете скачать прогу для управления Винампом из любого приложения (использовал хуки) http://www.freesoft.nsk.su/katalog/mm/7016.phtml


Kopetr   (2002-09-06 22:55:00) [2]

В данном частном случае нужно, чтобы bClick была методом
формы, т.е.
type
Form1 = class(TForm)
...
private
pricedure bClick(sender:TObject);

...
procedure TForm1.bClick;
....


А в общем случае нужно смотреть хелп - щелкнуть на сообщение об
ошибке и нажать F1.
Там же написано - примерно.


pvasya   (2002-09-06 22:14:00) [3]

создал процедуру:

procedure bClick(sender:TObject);
begin
ShowMessage("Click");
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
a:=TButton.Create(self);
a.Parent:=Form1;
a.OnClick:=bClick;
end;
компилятор ругается:
Incompatible types: "method pointer and regular procedure"


Kopetr   (2002-09-06 22:03:00) [4]

Или можно вместо Name использовать Tag, тогда
procedure ButtonClick(Sender: TObject):
begin
case TButton(Sender).Tag of
: ;
: ;
else ;
end;
end;


Kopetr   (2002-09-06 22:00:00) [5]

Всем кнопкам присаивать один OnClick, различать какая кнопка
нажата примерно так:
procedure ButtonClick(Sender: TObject):
begin
if Sender is TButton then
if TButton(Sender).Name = "Button1" then ....
end;

Имя кнопкам при создании присваивать примерно так:
with TButton.Create do
begin
Name := Button1;
OnClick := ButtonClick;
...



pvasya   (2002-09-06 21:49:00) [6]

а если у меня есть массив кнопок как мне OnClick реализовать?


Kopetr   (2002-09-06 21:31:00) [7]

procedure Botton1Click(Sender: TObject),
все как обычно.


pvasya   (2002-09-06 21:22:00) [8]

Это я понял. Формат(Пример) процедуры не можешь привести?


Kopetr   (2002-09-06 21:04:00) [9]

Button1.OnClick := ... (имя процедуры)


Наверх

Титульная страница Поиск, карта сайта Написать письмо