Коллекция контролов Controls и определение событий к ним

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
MiGan
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 02.05.2005 (Пн) 13:27

Коллекция контролов Controls и определение событий к ним

Сообщение MiGan » 12.10.2005 (Ср) 16:31

Подскажите, как можно прописать реакцию на событие Change эл-та управления TextBox, созданного динамически и помещенного в коллекцию Controls формы. Я создал ссылку на объект TextBox с оператором withevents, однако обработчик события Change этого работает только для последнего контрола TextBox, ссылка на который записана в моей переменной. Как можно обработать события остальных контролов в коллекции Controls???

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 12.10.2005 (Ср) 16:36

используй VBControlExtender

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2005 (Ср) 16:36

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 12.10.2005 (Ср) 16:44

MSDN
HOWTO: Dynamically Add Controls to a Form with Visual Basic 6.0
Q190670

MiGan
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 02.05.2005 (Пн) 13:27

Сообщение MiGan » 12.10.2005 (Ср) 16:54

используй VBControlExtender

Мне не хочется грузить никаких сторонних компонент кроме стандартных виндозных

http://bbs.vbstreets.ru/viewtopic.php?p=37547#37547

Слишком сложно, к тому же вопрос, как определить, какое именно событие было вызвано, и какие аргументы оно предъявило?

Из всего этого сделал вывод - что проще всего - использовать обычный таймер, в котором проверять ActiveControl а принадлежность коллекции!! Работает нормально, и все события ловятся!!!

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 12.10.2005 (Ср) 16:58

MSDN почитай, что я тебе ссылку дал

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.10.2005 (Ср) 17:01

MiGan писал(а):Мне не хочется грузить никаких сторонних компонент кроме стандартных виндозных

Нажми F2, введи extender в строку поиска.

MiGan писал(а):Слишком сложно

Тогда дальнейших советов нет. Потому что это, вообще-то, слишком просто.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 12.10.2005 (Ср) 17:18

GSerg
может ему в форус для новичков надо :P

MiGan
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 02.05.2005 (Пн) 13:27

Сообщение MiGan » 12.10.2005 (Ср) 18:37

MSDN
HOWTO: Dynamically Add Controls to a Form with Visual Basic 6.0 Q190670


ну пробовал по всякому, не находит ничаво (искал в Msdn всем...)

MiGan писал(а):
Мне не хочется грузить никаких сторонних компонент кроме стандартных виндозных

Нажми F2, введи extender в строку поиска.


Нажал... Посмотрел. Буду знать, спасибо! Токмо, определить по моему конкретный тип контрола через VbControlExtender не получится, ибо
Код: Выделить всё
it provides a generic set of properties, events, and methods to the developer.


MiGan писал(а):
Слишком сложно

Тогда дальнейших советов нет. Потому что это, вообще-то, слишком просто.


Имелось в виду, что для решения моей проблемы мне видится проще мой путь с таймерами! Для предметной области автора того поста может и хватало получать ID сокета, а мне ишо нужно было знать, какое событие вызвано. Спасибо Вам за помощь, ответ уже получен.

может ему в форус для новичков надо

Ну вот только ессли в форус то пожалуйста!!! :D

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 12.10.2005 (Ср) 19:12

очепятка :)
я бы на твоем месте создал коллекцию своих добавленных контролов и сипользовал экстендер для реализации событий конкретного

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 13.10.2005 (Чт) 14:13

В общем, на скорую руку набросал примитивный примерчик содержащий две формы, в одной из которых обрабатываются события существующих контролов, а в другой созданных динамически...

P.S
Примерно так-же обрабатываются контролы формы в моих реальных приложениях, только классы на порядок помощнее, да и побольше их...
:lol:
Вложения
Sample.rar
(4.63 Кб) Скачиваний: 63
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

MiGan
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 02.05.2005 (Пн) 13:27

Сообщение MiGan » 13.10.2005 (Чт) 15:21

В общем, на скорую руку набросал примитивный примерчик содержащий две формы, в одной из которых обрабатываются события существующих контролов, а в другой созданных динамически...

P.S
Примерно так-же обрабатываются контролы формы в моих реальных приложениях, только классы на порядок помощнее, да и побольше их...


А ты не мог бы примерчик свой сюда кинуть: ganchikovm@avg.ru???

Я был бы очень признателен!!!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 13.10.2005 (Чт) 15:24

MiGan писал(а):А ты не мог бы примерчик свой сюда кинуть: ganchikovm@avg.ru???

Я был бы очень признателен!!!


А самому его скачать?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 13.10.2005 (Чт) 20:09

Andrey Fedorov
Во дает :!: Ему даже пример сварганили, а он его даже брать не хочет :lol:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 13.10.2005 (Чт) 20:11

2Andrey Fedorov
Может его в статью небольшую оформишь и на сайт выложишь, а то что-то часто стали спрашивать :?:

MiGan
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 02.05.2005 (Пн) 13:27

Сообщение MiGan » 17.10.2005 (Пн) 9:34

Млин, мы это уже проходили. Непонятно по какоем причинам (хотя подозреваю, что наш корпоративный сервак блокирует часть cookies (напр., tracking)) я не вижу ни одной из ссылок на примеры, которые выкладывают в форуме. По этому и просил...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

    TopList