Страница: 1 |
Страница: 1 |
Вопрос: Динамическое добавление массива эл-в управления
Добавлено: 20.08.04 16:31
Автор вопроса: П.С. | Web-сайт:
Уважаемые программисты!
Подскажите, пожалуйста разрешить проблему. Все перепробовал, но не получается.
Необходимо во время работы программы, написанной на Visual Basic 6.0 добавлять элементы управления - надписи (label) с одним именем (name), но с разными индексами (index). Индексы не подряд, а надписи, конечно, должны реагировать на события. Надписи с некоторыми индексами уже нарисованы на форме, а другие понадобятся
в определенных случаях. Можно ли их как-то добавить динамически во время работы программы?
Добавить не массив могу: Set lblObj = Controls.Add("VB.Label", "lblObj", Frame1)
А вот массив добавить не получается.
Подскажите, пожалуйста, если не затруднит. Буду очень благодарен.
PS: в прошлый раз мне очень помог Stanislav. Огромное спасибо!
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 20.08.04 18:48
Если хотя бы один Label из массива уже создан, то подгружай новые так:
Load lblObj(1)
lblObj(1).Caption="111"
Номер ответа: 2
Автор ответа:
П.С.
ICQ: 225019134
Вопросов: 36
Ответов: 41
Web-сайт:
Профиль | | #2
Добавлено: 21.08.04 15:43
Спасибо, не думал, что все так просто!
Только еще вопрос по теме. А как узнать, существует ли элемент с определенным индексом,
но не перебирая весь массив оператором for...each и не обрабатывая возникшую ошибку при
обращении к элементу с несуществующим индексом? Может быть функция какая есть?
Подскажите, пожалуйста.
Номер ответа: 3
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #3
Добавлено: 21.08.04 18:47
Насколько я знаю, такой функции нет. По-моему самый простой путь - обработать ошибку.
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 23.08.04 16:13
Label1.Count-1, если у тебя последовательный массив Label1(0..n)