|
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
|
||||||
Обработчик событий для динамически созданного массива контролов21.07.2014, 09:59. Показов 9788. Ответов 32
Метки нет (Все метки)
0
|
||||||
| 21.07.2014, 09:59 | |
|
Ответы с готовыми решениями:
32
Создать обработчик события для динамически созданного NumericUpDown Обработчик событий для динамически созданных контроллов Обработчик событий для динамически связанного запроса в подформе |
|
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
|
| 21.07.2014, 10:08 | |
|
dimas5552, определитесь, кнопка называется Button или Command1?
Вся проблема в этом, кажется...
0
|
|
|
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
|
||||||
| 21.07.2014, 10:32 [ТС] | ||||||
|
Кнопка называется Command1, это можно даже проверить вызвав
0
|
||||||
|
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
||||||
| 21.07.2014, 10:36 | ||||||
|
dimas5552, всё работает, если с головой подходить -
1
|
||||||
|
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
|
||||||
| 21.07.2014, 10:58 [ТС] | ||||||
|
В Вашем примере вы эту самую переменную и вызываете, а если эту переменную использовать для создания нескольких кнопок то получится что переменная одна а кнопок много, т.е. для каждой кнопки нужно как то событие Клик выклянчить...
Например если так:
1
|
||||||
|
Модератор
|
||
| 21.07.2014, 11:07 | ||
|
1
|
||
|
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
||
| 21.07.2014, 11:09 | ||
0
|
||
|
|
|
| 21.07.2014, 11:44 | |
|
dimas5552, вам нужно пройти по тому-же эволюционному маршруту что и я,
сначало воспользоваться таймером для передачи фокуса, а затем если все заработает, попробовать переключать фокус через события но хотелось бы обратить внимание, что в других байсиках события LostFocus-не существует после чего эволюцианировать лучше в другую ветку, например в VBA Добавлено через 1 минуту Там я для вас лично отвечу на любые вопросы по кнопкам и помогу Вам, до связи !
0
|
|
|
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
|
|
| 21.07.2014, 11:47 [ТС] | |
|
Спасибо, принцип понял. Теперь еще такой вопрос: а команда "Set btn = ActiveControl" что дает и почему без нее не работают кнопки?
0
|
|
|
|
|
| 21.07.2014, 11:50 | |
|
0
|
|
|
Модератор
|
|||||||||||
| 21.07.2014, 11:52 | |||||||||||
Сообщение было отмечено Апострофф как решение
Решение
Антихакер32, перестань нести чушь!
Какие таймеры? Зачем? dimas5552, воспользуйся доп классом-оберткой. Смысл в чем, у тебя много кнопок и один объект, обрабатывающий события этих кнопок. Делаешь интерфейс для объекта приемника и из класса вызываешь метод интерфейса, передавая в него источник события. К примеру, создаем класс обертку clsEventWrapper:
Создаем форму в которой делаем публичный метод MyEvent и добавляем контролы:
По-хорошему нужно MyEvent сделать отдельными интерфейсом и реализовывать его через Implements, тогда будет возможность в разных объектах (не только формах, но вообще любых объектов) обрабатывать события динамически созданных контролов.
2
|
|||||||||||
|
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
|
| 21.07.2014, 11:52 | |
|
1
|
|
|
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
|
|
| 21.07.2014, 12:00 [ТС] | |
|
Так, кнопка (точнее кнопки) на форме у нас есть, у каждой свое имя но все они находятся в пределе одно массива btn. Зачем ей нужно передавать фокус если при клике по ней она автоматически считается в фокусе?
0
|
|
|
|
|
| 21.07.2014, 12:04 | |
|
если у тебя WithEvents btn то и события будут ловиться от этой ссылки
не важно кто еще там активен вот и необходимо эти ссылки передовать, если активность меняется
0
|
|
|
Модератор
|
||
| 21.07.2014, 12:10 | ||
|
Но если кнопка будет не в фокусе, то клик не пройдет. Например если пустить неактивной кнопке такое cmd.Value = True, ничего не произойдет.
0
|
||
|
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
|
|
| 21.07.2014, 12:17 [ТС] | |
|
А если будут два массива с кнопками WithEvents btn и WithEvents btn2 то одновременно обоим фокус кудать?
0
|
|
|
|
|||||||
| 21.07.2014, 12:34 | |||||||
|
Можеш в Controls.add имя менять для btn2
Пример:
тоесть определенное имя активного контрола но с цифрой Set o = Controls("cmm_" & X - 1 & Y - 1)
0
|
|||||||
| 21.07.2014, 12:34 | |
|
Помогаю со студенческими работами здесь
20
Обработчик событий нескольких контролов? Обработчик события динамически созданного контрола
Обработчик события для массива динамических контролов Обработчик событий динамически созданных кнопок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|