Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 301

/ вопрос открыт /

Здравствуйте!
например имеется 10 кнопок.
Надо чтобы одна процедура выполнялос после каждого нажатия на любой из кнопок (любого действия которое приводит к выполению процедуры) .
Надо чтобы выполнялась процедура. Можно как нибуть сделать чтобы непрописывать в каждой кнопке вызов этой процедуры?

Maris_1 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Maris_1 (статус: Посетитель)
Вопрос отправлен: 18 октября 2009, 13:33
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Не только можно, но и нужно!
Надо только создать ЕДИНЫЙ обработчик OnClick для всех кнопок.
Причём, по нажатию на разные кнопки можно выполнять в этом обработчике разные действия.
У компонентов есть свойство Tag. Его (и не только его) можно использовать для идентификации объекта, который вызвал событие.

{ TForm1 }
 
procedure TForm1.ButtonClick(Sender: TObject);
begin
  case TComponent(Sender).Tag of
    1: ShowMessage('нажата кнопка Button1');
    2: ShowMessage('нажата кнопка Button2');
    3: ShowMessage('нажата кнопка Button3');
    4: ShowMessage('нажата кнопка Button4');
    5: ShowMessage('нажата кнопка Button5');
    6: ShowMessage('нажата кнопка Button6');
    7: ShowMessage('нажата кнопка Button7');
    8: ShowMessage('нажата кнопка Button8');
    9: ShowMessage('нажата кнопка Button9');
   10: ShowMessage('нажата кнопка Button10');
  end; //case
end;

Посмотри прицепленный скриншот.
К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 18 октября 2009, 14:00
Оценка за ответ: 5

Комментарий к оценке: спаасибо

Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 18 октября 2009, 18:32; участников в обсуждении: 2.
Maris_1

Maris_1 (статус: Посетитель), 18 октября 2009, 14:17 [#1]:

а чтобы после создания формы выполнялось сюда можно добавить?
min@y™

min@y™ (статус: Доктор наук), 18 октября 2009, 14:25 [#2]:

Можно. Повесь этот же обработчик на OnCreate твоей формы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Maris_1

Maris_1 (статус: Посетитель), 18 октября 2009, 14:30 [#3]:

подскажи к какой теме этом материал относится
min@y™

min@y™ (статус: Доктор наук), 18 октября 2009, 18:32 [#4]:

Цитата (Maris_1):

подскажи к какой теме этом материал относится


Это вопрос? Если да, тогда к кому?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:00
Выполнено за 0.03 сек.