![]() |
|
|
![]()
|
|
| Han |
|
|||
|
Unregistered |
Привет! Допустим у меня на форме 5 Button. Знаю, что как-то можно в одном обработчике сделать обращение к ним всем, Например в обработчике написать , что при нажатии (ButtonClick) кнопка меняла свой цвет, но сделать это для всех, т.е. чтобы изменить цвет каждой мне нужно щелкнут по каждой. Вот. Не знаю понятно ли объяснил...
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Это? -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
нельзя этого сделать.
можно только работу немного упростить -- пробежать циклом по всем компонентам формы или при создании кнопки писать указатель на нее куда-нить. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Han |
|
|||
|
Unregistered |
Vyacheslav, вроде это, помню, что через Sender. Надо попробовать. Спасибо.
|
|||
|
||||
| Han |
|
|||
|
Unregistered |
Нашел кое-что попроще:
А для кнопок Button2-Button5 в событии OnClick выбираем Button1Click. И все. При нажатии на любую кнопку будет высвечиваться Hello! |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Это не проще. Это небезопаснее. При присвоении(например случайном ) этого обработчика контролу, который не является TButton высока вероятность словить эксепшион.
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
Han, ай-яй-яй... -- совсем запутал
тебе нужно из одного обработчика ко всем контролам обратится или всем контролам назначить один обработчик? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Han |
|
|||
|
Unregistered |
Получается, что всем контролам один обработчик. В общем вот так как есть меня очень устраивает, но как говорит Vyacheslav не безопасно. Может можно сделать как-то по-другому, но по такому принципу?
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
небезопасно так:
((TButton*)Sender) а так, как говорил Vyacheslav: if (TButton* btn = dynamic_cast<TButton*>(Sender)) { вполне безопасно... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Han |
|
|||
|
Unregistered |
Как програмно вызвать обработчик Button1Click для нажатия например Button2 и др.
|
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
непонял ... а в обработчике Button2 вставить Button1Click(Sender); неподходит? |
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
Button2->OnClick=Button1Click
|
|||
|
||||
| Han |
|
|||
|
Unregistered |
Может я не так объяснил. Для всех кнопок я поставил обработчик Button1Click. Мне нужно во время работы программы делать щелчки по Buttonам не нажимая на них (кодом). В Delphi видел такую реализацию:
|
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
Так и вызывай
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |