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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2010, 15:47   #1
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию Как написать событие на получение фокуса кнопкой?

Есть 9 кнопок. Клавишами стрелок на клавиатуре можно переходить с кнопки на кнопку, при этом устанавливается фокус. События onFocus или что-то похожего нету. Нужно чтобы при установки фокуса на каждую кнопку выполнялось определенное событие. Для каждой кнопки свое. Кнопки тапа TBitBtn. Как такое можно реализовать?
лучший подарок женщине-программисту

Последний раз редактировалось chandrasecar; 30.06.2010 в 15:49.
chandrasecar вне форума Ответить с цитированием
Старый 30.06.2010, 15:55   #2
Антон Ю.Б.
Форумчанин
 
Регистрация: 03.01.2009
Сообщений: 116
По умолчанию

см. событие OnEnter, хотя не оч понятно, что ищется
Антон Ю.Б. вне форума Ответить с цитированием
Старый 30.06.2010, 17:03   #3
Ayubkhon
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 28
По умолчанию

Для каждой кнопики в событии OnEnter, например:
Код:
Procedure TForm1.BitBtn2Enter(Sender: TObject);
begin
  showmessage('BitBtn2');
end;
Ayubkhon вне форума Ответить с цитированием
Старый 30.06.2010, 17:24   #4
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Можно пронумеровать свойство Tag каждой кнопки и работать со всеми сразу в одном событии, а выяснять, какая сейчас нажата по этому свойству.
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 30.06.2010, 18:42   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Ayubkhon, а можно использовать Sender и не парится
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.06.2010, 19:25   #6
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

В том то и дело, что на кнопку мы не нажимаем, не кликаем и не жмем Enter. А только фокус кнопками стрелок устанавливаем.

но это попробую:
Код:
Procedure TForm1.BitBtn2Enter(Sender: TObject);
begin
  showmessage('BitBtn2');
end;
лучший подарок женщине-программисту

Последний раз редактировалось chandrasecar; 30.06.2010 в 19:39.
chandrasecar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как убрать рамку фокуса ввода с TListBox? SalasAndriy Компоненты Delphi 2 01.04.2009 21:09
Можно ли отлавливать событие потери фокуса Control'ом tolikman Microsoft Office Excel 2 09.01.2009 15:02
какое событие отвечает за получени/потерю фокуса у формы? Paul Hindenburg Общие вопросы Delphi 4 10.06.2008 14:47
Как работать с правой кнопкой мыши? ZeRRon Помощь студентам 4 28.12.2007 18:45
Как поймать событие в COM? den303 Общие вопросы Delphi 0 13.09.2007 12:06