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

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

Уважаемые Мастера! [D5, NT4]


Tornado ©   (2002-08-21 16:50:00) 

У меня на форме имеется порядка 30 кнопок SpeedButton. Вопрос: как мне отследить, нажата ли какая либо кнопка и если да - то какая именно? Нажато может быть одновременно несколько кнопок. Надо что-то вроде массива кнопок сделать наверно, я не знаю. Подскажите пожалуйста. Спасибо.


lenin   (2002-08-21 17:01:00) [1]

Вариант такой:

...
private
procedure ButtonClick(Sender: TObject);
...
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
for i:=1 to 30 do
with TSpeedButton.Create(self) do
begin
name:="button"+IntToStr(i);
left:=i*20;
top:=20;
width:=20;
height:=20;
OnClick:=ButtonClick;
parent:=self;

end;
end;
...
procedure TForm1.ButtonClick(Sender: TObject);
begin

Label1.caption:="Нажата"+ (Sender as TSpeedButton).name;

end;


MBo   (2002-08-21 16:53:00) [2]

общий обработчик, анализировать Sender


Наверх

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