Страница: 1 |
Страница: 1 |
Вопрос: ListBox
Добавлено: 12.11.04 15:49
Автор вопроса: someone | Web-сайт:
звиняюсь за ламерский вопрос, просто с List мало работал.
необходимо:
Допустим есть 2 листбокса
"Текст1" | "ЕщеТекст1"
"Текст2" | "ЕщеТекст2"
"Текст3" | "ЕщеТекст3"
и при выборе "Текст1" должно выбратся во втором значение "ЕщеТекст1" Ну и с остальными тоже.
---------
List2.(сделать активным елемент >>>) = List1.(определить номер элемента в List1)
Print List2.(выбранный елемент)
End Sub
помогите! плиз!
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #1
Добавлено: 12.11.04 17:12
Private Sub List1_Click()
List2.ListIndex = List1.ListIndex
Print List2.(выбранный елемент)
End Sub
Только это не надежно...
Лучше сабклассить Но дольше
Номер ответа: 2
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #2
Добавлено: 12.11.04 17:15
Почему не надёжно?
Кстати, советую ещё и вот это (для красоты):
Номер ответа: 3
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #3
Добавлено: 12.11.04 17:24
СПАСИБО!!!!!!
Номер ответа: 4
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #4
Добавлено: 12.11.04 19:02
Почему ненадежно?
С выбранной задачей конечно справляется (событие Click), но если с клавиатуры выбирать или просто с нажатой клавишей мыши
пробежаться по строчкам, то эффекта никакого не будет
Т. ч. либо довольствуйтесь этим, либо ко всем нужным событиям списка привязать это действие, либо сабклассингом отслеживать
изменения в одном списке и устанавливать выбранный индекс во втором списке (и наоборот)
Номер ответа: 5
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #5
Добавлено: 13.11.04 12:22
проше предусмотреть нажатия на клавишу Ентер и Пробел... и нинужно ниче сабклассить...
Номер ответа: 6
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #6
Добавлено: 13.11.04 12:57
Угу
А еще ВВЕРХ, ВНИЗ, HOME, END, PAGEUP, PAGEDOWN
Плюс MouseMove, MouseClick, Scroll
И притом эти события нужно ставить и на втором списке, дабы они были полностью синхронизированы
Вот теберь про сабклассинг вопрос стал спорным?
Там то наверняка есть константа "индекс_изменился", плюс функции GetScrollPos и SetScrollPos
Номер ответа: 7
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #7
Добавлено: 13.11.04 15:56
может прроще прописать новое событие Change
Номер ответа: 8
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #8
Добавлено: 13.11.04 18:20
Хмм... а как это сделать?
Номер ответа: 9
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #9
Добавлено: 13.11.04 18:31
Вот теберь про сабклассинг вопрос стал спорным?
Ты так говоришь как будто при субклассинге это всё не надо обрабатывать. Лучше использовать события контрола. Если что-то в контроле не предусмотрено разработчиками, тогда ПРИХОДИТСЯ прибегать к субклассингу. Если всё писать на API, то и VB не нужен. Собственно что ты предлагаешь субклассировать? Покажи хоть часть кода.
Номер ответа: 10
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #10
Добавлено: 13.11.04 19:34
Хмм... а как это сделать?
ну просто задавать ListIndex...
да, кстати, а что собой представляет TopIndex
у меня неработает. т.е. ноль еффекта
Номер ответа: 11
Автор ответа:
someone
Вопросов: 215
Ответов: 1596
Web-сайт:
Профиль | | #11
Добавлено: 13.11.04 19:35
сорри, не вчитался
ну тут надо свой List делать наверно!
Номер ответа: 12
Автор ответа:
Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #12
Добавлено: 15.11.04 11:33
у меня неработает. т.е. ноль еффекта
Сделай список побольше, чтобы скроллер появился и побегай по нему...
TopIndex - индекс первой видимой строки списка.