Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/26: Рейтинг темы: голосов - 26, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 22.01.2007
Сообщений: 5

Обработка событий для динамически созданных элементов управления

22.01.2007, 09:21. Показов 4865. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
VBA (Office97) позволяет динамически создавать элементы управления (при выполнении программы). Но как обрабатывать события для них? При разработке формы их еще нет, и VBA при выполнении не воспринимает подпрограммы типа CommandButton_Click() (вставленные вручную)для таких элементов!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.01.2007, 09:21
Ответы с готовыми решениями:

Обработка событий для динамически созданных элементов
Приветствую всех любителей программирования! Совсем недавно я решил написать небольшую программу для работы в сервисном центре. Конечно,...

Обработка событий динамически созданных компонентов
По нажатию на кнопку я создаю новый компонент на форме. panel.push_back(NULL); panel = new TPanel(Form1); ...

Обработка событий динамически созданных компонентов
Что-то я туплю зверски... Window.cpp //--------------------------------------------------------------------------- #include...

5
eva
24.01.2007, 00:04
В VBA есть также возможность обращаться к строкам модуля. Может быть использовать этот вариант и также динамически добавлять строки кода обработки событий создаваемых элементов.
0 / 0 / 0
Регистрация: 22.01.2007
Сообщений: 5
24.01.2007, 01:46  [ТС]
Я тоже обнаружил эту возможность (CodeModule)...
НО сложновато как-то получается (да и написать соответсвующую прогу сходу не удалось - ошибки лезут). Интуитивно чувствую, должен быть простой путь (как, например, ссылка на динамически созданный элемент: UserForm!TextBox). Иначе зачем вообще нужен метод Controls.Add, если нельзя по-нормальному использовать события таких элементов ?!!
0
98 / 1 / 1
Регистрация: 28.01.2007
Сообщений: 53
28.01.2007, 01:28
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private WithEvents CMB As CommandButton
 
Private Sub CMB_Click()
    Unload Me
End Sub
 
Private Sub UserForm_Initialize()
    Set CMB = Me.Controls.Add('Forms.CommandButton.1', 'cmdTest', True)
    CMB.Top = 1
    CMB.Left = 1
    CMB.Caption = 'Test'
End Sub
Далее см. VBA Help для Controls.Add
0
 Аватар для Bati4eli
617 / 17 / 8
Регистрация: 05.05.2012
Сообщений: 221
Записей в блоге: 11
01.10.2012, 12:39
Да событие обрабатывается, но только для последнего созданного контрола!

 Комментарий модератора 
Не поднимайте старых тем!
И не "кричите" жирным шрифтом.
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
01.10.2012, 12:43
См. сюда: Как проверить, в каком из Checkbox пользователь сделал выбор?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2012, 12:43
Помогаю со студенческими работами здесь

Обработка событий динамически созданных объектов WinForms
В проекте есть две обособленные формы Form1 и Form2. На Form2 динамически в ячейки элемента tableLayoutPanel циклом загоняются объекты...

Обработка событий динамически созданных объектов в С++ Builder
Добрый день! Подскажите, пожалуйста, возможное решение следующей проблемы... Есть некая форма. На форме присутствует элемент...

Обработка событий для DOM элементов, созданных после прогрузки страницы
Добрый день форумчане, уже голову сломал, не могу понять логику работы. У меня есть страничка, с кнопкой, по клику которой создаются поля...

Обработчик событий у динамически созданных элементов управлений
Создаю радиобаттоны следующим образом: Dim row As DataRowView Dim groupBox1 As New GroupBox() Dim f As New...

Обработчик событий для динамически созданных контроллов
Всем привет, я столкнулся с этой проблемой, два дня назад, и до сих пор никак не могу решить эту проблему. Суть в том, что я создать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru