Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2008, 05:00   #1
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
Вопрос OnClick для массива компонентов

Всем доброго времени суток!
У меня проблемка:
Создал массив компонентов(неважно каких).
А как сделать OnCilck для массива компонентов? То есть один для всех я могу (Kom[n].OnClick:=KomClick) а как сделать чтобы хотябы процедурке передавался номер компонента? То есть:

Procedure FigaroClick(NomComponent);
begin
showmessage(inttostr(NomComponrnt)) ;
end;

Помогите, кому не лень
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 30.04.2008, 05:34   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Как правило компонент имеет свойство Tag. Его и используй. Ну а потом

if (Sender as TМойКомпонент).Tag = ...
Баламут вне форума Ответить с цитированием
Старый 30.04.2008, 13:01   #3
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Нет, эта штуке всегда возвращает ноль. У кого есть другие варианты?
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 30.04.2008, 13:14   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

В обработчике события OnClick есть параметр Sender: TObject вот его и анализируй, например:
Код:
procedure TForm1.ButtonClick(Sender: TObject);
begin
  if (Sender as TButton) = Button[1] then .....;
  if (Sender as TButton) = Button[5] then .....;
end;
_Dmitry вне форума Ответить с цитированием
Старый 30.04.2008, 13:37   #5
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Цитата:
Сообщение от Dj_smart Посмотреть сообщение
Нет, эта штуке всегда возвращает ноль.
Смешно, блин... Я конечно все понимаю, но все-таки в те времена, когда я учился программированию было принято хоть немного ознакомиться с предметной областью. Свойству Tag значение присваивается при создании экземпляра класса! Если ты создаешь его в дизайнере, то это находится обычно слева (список свойств объекта). Ну а если динамически ,то опять же Mycomponent.Tag := 1 и т.д.
Баламут вне форума Ответить с цитированием
Старый 30.04.2008, 14:16   #6
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Всё, работает, всем спасибо.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OnClick - правая или левая кнопка мыши Vadim_S Общие вопросы Delphi 8 16.09.2009 18:15
Организация обработчика OnClick 8alig8 Помощь студентам 1 03.06.2008 05:11
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44
Помогите с onClick BeeX Общие вопросы C/C++ 1 22.11.2007 02:49