|
7 / 7 / 0
Регистрация: 06.08.2010
Сообщений: 12
|
||||||
Один обработчик для 100 кнопок?30.03.2011, 00:44. Показов 9217. Ответов 47
Метки нет (Все метки)
На форме есть 100 кнопок.
Как сделать один раз для всех кнопок, чтобы не описывать нажатие для каждой конкретной кнопки сто раз:
1
|
||||||
| 30.03.2011, 00:44 | |
|
Ответы с готовыми решениями:
47
Один обработчик для 9 кнопок Один обработчик для нескольких Image TMainMenu Один обработчик для нескольких пунктов |
|
10 / 10 / 4
Регистрация: 14.08.2010
Сообщений: 103
|
|
| 31.03.2011, 08:38 | |
|
Dersou, я однажды спрашивал и мне ответили тут Обратиться к определенной кнопке и по-моему это как раз то, что Вы ищете. Оттуда можно найти, как в одном событии для всех кнопок, определить какая именно кнопка была нажата.
0
|
|
|
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
|
|
| 31.03.2011, 10:36 | |
|
Если я правильно понял вопроса, то вот
. Так как события TButtonClick имеют один и тот же метод и те же аргументы. Когда заходите в инспекторе объектов в раздел Event, найдите там OnClick, и нажмите на стрелочку и выберите свой метод. И так на всех ста кнопок . Если что я сделал пример.
0
|
|
|
|
|||
| 31.03.2011, 15:16 | |||
, люди, ну читайте же тему от начала , повторяю второй раз - было уже :
0
|
|||
|
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
|||
| 31.03.2011, 15:49 | |||
|
0
|
|||
|
7 / 7 / 0
Регистрация: 06.08.2010
Сообщений: 12
|
|||||||
| 01.04.2011, 11:40 [ТС] | |||||||
|
- выделил все кнопки и в событии OnClick() выбрал Action1 ! - для передачи в Action1 значения Button->Tag нарисовал три строчки в Action1
Выражаю отдельную признательность "koldun" за то, что ткнул носом в мной проигнорированное сообщение от "kzru_hunter" Всем спасибо! З.Ы. Про 100 кнопок я, конечно, загибнул, - их всего 24, но был важен сам принцип. Ведь для меня после числа 5 идет "тьма". Путаюсь в цыфирях.
0
|
|||||||
|
|
|
| 01.04.2011, 22:33 | |
|
0
|
|
|
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
||||||||
| 01.04.2011, 23:18 | ||||||||
Не заметил сразу...
0
|
||||||||
|
|
||
| 01.04.2011, 23:22 | ||
. Остается надеяться, что со временем это пройдет и у него .
0
|
||
|
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
|
| 01.04.2011, 23:29 | |
|
LK, может быть
Но если человек невнимательно читает и игнорирует ответы на свой вопрос в своей же теме, то это как бэ намекает...
0
|
|
|
|
|
| 01.04.2011, 23:31 | |
|
Inadequate, согласен
.
0
|
|
|
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
|
|||||||||||
| 02.04.2011, 00:56 | |||||||||||
|
Мне было лень 100 кнопок делать, поэтому ток шестью обошелся
для начала создадим свой обработчик: *.h
*.cpp
0
|
|||||||||||
|
|
||||||
| 02.04.2011, 01:01 | ||||||
|
Gremlin, а фишка в чем ? или это повторение пройденного для закрепления ? и вот это
0
|
||||||
|
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
|
|
| 02.04.2011, 01:09 | |
|
LK,
ClassName() - ShortString ClassName().operator AnsiString() - а так уже AnsiString при if(...ClassName() == "TButton") - будет ошибка if(...ClassName().operator AnsiString() == "TButton") - а так нет (приводим ShortString к типу AnsiString)
0
|
|
|
|
||||||
| 02.04.2011, 01:17 | ||||||
|
а
0
|
||||||
|
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
|
||||||
| 02.04.2011, 01:20 | ||||||
|
в вашем посте: Один обработчик для 100 кнопок?
допущена критичная ошибка
0
|
||||||
|
|
|
| 02.04.2011, 01:23 | |
|
0
|
|
|
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
||||||
| 02.04.2011, 01:30 | ||||||
|
Gremlin, всё верно. Поэтому перед этим нужно проверить что вернет нам dynamic_cast.
LK, мысль проста, как я писал чуть выше dynamic_cast вернет нам либо указатель, либо 0. Так вот если на форме у тебя будет что-то помимо TButton, то т.к. ты забыл сделать проверку что именно вернет dynamic_cast, ты получишь AV. Попробуй кинуть на форму, что-то помимо TButton и проверь свой код. Т.е. сначала неплохо бы удостовериться, что это именно TButton
0
|
||||||
|
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
|
|
| 02.04.2011, 01:30 | |
|
LK, пожалуйста:
например такой компонент как MainMenu или TEdit это не TButton и при TButton* button; button = dynamic_cast<TButton*>(Components[i]); будет ошибка так как классы не совпадают без обид, но я это клоню к тому, что не нужно людей вводить в заблуждение это все равно что дать человеку компьютер и ни сказать (что это вообще такое)
0
|
|
|
|
||||||
| 02.04.2011, 01:38 | ||||||
|
ах, вы об этом
? да , запамятовал , но огород-то городить зачем ![]()
0
|
||||||
|
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
|
| 02.04.2011, 01:43 | |
|
LK, весьма нерациональное решение. У тебя получится много лишних обходов, кроме того если все создавалось динамически и имена компонентам не присваивались, то останешься в добавок и без результата.
0
|
|
| 02.04.2011, 01:43 | |
|
Один обработчик для нескольких кнопок
Один обработчик событий для нескольких кнопок один обработчик нажатия для всех кнопок
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|