|
7 / 7 / 0
Регистрация: 27.01.2014
Сообщений: 28
|
||||||
Обработчик событий для динамически созданного массива контролов21.07.2014, 09:59. Показов 9804. Ответов 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
Обработчик событий нескольких контролов? Обработчик события динамически созданного контрола
Обработчик события для массива динамических контролов Обработчик событий динамически созданных кнопок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|