Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подсветка строки в ListBox при наведении на нее курсора. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Подсветка строки в ListBox при наведении на нее курсора.
damask_86ru Дата: Четверг, 18.06.2015, 09:14 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Привет Всем!
У меня к Вам вопрос. Возможно ли сделать чтобы при наведении на листбокс курсора, строчка листбокса расположенная под курсором подсвечивалась (выделилась), а при движении курсора по полю листбокса (вверх-вниз) подсветка (выделение) перемещалась за ним?
 
Ответить
СообщениеПривет Всем!
У меня к Вам вопрос. Возможно ли сделать чтобы при наведении на листбокс курсора, строчка листбокса расположенная под курсором подсвечивалась (выделилась), а при движении курсора по полю листбокса (вверх-вниз) подсветка (выделение) перемещалась за ним?

Автор - damask_86ru
Дата добавления - 18.06.2015 в 09:14
Manyasha Дата: Четверг, 18.06.2015, 13:17 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

Excel 2010, 2016
damask_86ru, можно, например так:[vba]
Код
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
     Dim lIndex As Long
     lIndex = Y / 12
     If lIndex >= 0 And lIndex < ListBox1.ListCount Then ListBox1.ListIndex = lIndex
End Sub
[/vba]
Только никак не получается правильно определить высоту шрифта, поэтому, методом научного тыка вычислила, что она равна 12. )
К сообщению приложен файл: Listbox.xlsm (18.8 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеdamask_86ru, можно, например так:[vba]
Код
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
     Dim lIndex As Long
     lIndex = Y / 12
     If lIndex >= 0 And lIndex < ListBox1.ListCount Then ListBox1.ListIndex = lIndex
End Sub
[/vba]
Только никак не получается правильно определить высоту шрифта, поэтому, методом научного тыка вычислила, что она равна 12. )

Автор - Manyasha
Дата добавления - 18.06.2015 в 13:17
damask_86ru Дата: Четверг, 18.06.2015, 15:26 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Manyasha, большое Вам СПАСИБО!
 
Ответить
СообщениеManyasha, большое Вам СПАСИБО!

Автор - damask_86ru
Дата добавления - 18.06.2015 в 15:26
rlobasenko Дата: Понедельник, 01.08.2022, 11:58 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - rlobasenko
Дата добавления - 01.08.2022 в 11:58
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!