|
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
|
|
Scroll в юзерформе28.05.2013, 22:53. Показов 2317. Ответов 11
Метки нет (Все метки)
Вот, пытаюсь освоить VBA. Надеюсь, господа, на вашу помощь.)
Есть форма. Вставил в нее комбобокс и заполнил списком. Форма открывается, список комбобокса тоже, даже ползунок у него имеется!) Как добавить возможность прокрутки списка не только ползунком, но и колесом прокрутки мыши? Заранее благодарю!) ЗЫ Большущая просьба! Поскольку я только начинаю осваивать VBA, хотелось бы увидеть не только код, но и подробное его комментирование, а также (ну уж совсем меня простите!)) куда и как его вставлять!(((
0
|
|
| 28.05.2013, 22:53 | |
|
Ответы с готовыми решениями:
11
При scroll'e не пролистываются объекты, имеющие компонент scroll rect OFF scroll на body > ON scroll children About Scroll |
|
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
|
|||
| 29.05.2013, 01:28 [ТС] | |||
|
Добавлено через 3 минуты Да и смотрю народ по этой теме с бубном скачет!((( Пытаюсь повторять коды - ничего не выходит!( Очевидно из-за отсутствия:
0
|
|||
|
81 / 18 / 1
Регистрация: 22.05.2013
Сообщений: 32
|
|
| 29.05.2013, 18:40 | |
|
По скроллу здесь хорошо написано и работает: Форум MSDN
Но! У некоторых объектов (типа TextBox) нет свойства ScrollTop, для них надо реализовывать PostMessage (см. форум). --------------------- Для ComboBox надо менять значение ListIndex Добавлено через 8 минут Поправочка: Форум этот же, но запись от Wednesday, August 01, 2012 2:50 PM
1
|
|
|
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
|
|
| 29.05.2013, 21:32 [ТС] | |
|
Hedge-Hog, несколько вопросов.
1. В представленном примере необходимо использовать два различных кода: один для юзерформы и другой для модуля. Поскольку я даже не начинающий, а, скорее, кандидат в начинающие, что есть этот модуль? Мне необходимо просто создать модуль в проекте, содержащем мою юзерформу и поместить в этот проект только представленный код? Или это некоторый модуль который должен уже быть и нечто уже содержать? 2. Если вы (ты?) знакомы с представленными кодами. Содержат ли они имена? Я что-то не могу разобраться.( А то получится что у них значится как User form, я должен записать, например, my form. (Имя моей формы). 3. Ну уж совсем негодяйский вопрос.( Коммент бы мне к каждой строчке...(((
0
|
|
|
81 / 18 / 1
Регистрация: 22.05.2013
Сообщений: 32
|
|
| 29.05.2013, 22:22 | |
|
1) Да, код нужно писать в двух местах. Основной код - в любом модуле, установка и снятие hook'а (перехватчика события) - в коде формы (правый клик на форме - открыть код)
2) Знаком, немного докрутил код - поддерживает несколько видов контролов, но до ума, как водится, так и не довёл. Код будет под рукой только завтра утром. 3) К каждой строчке - не обещаю.
1
|
|
|
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
|
|
| 29.05.2013, 23:00 [ТС] | |
|
Hedge-Hog, большущее спасибо!
По-ходу уже немного и сам разобрался. Методом тыка! Вставил от балды модуль и внес в него предложенный код. И второй, немного поплясав с бубном, ввел в код юзерформы. Все работает в лучшем виде! Эх! Знать бы что эти куплеты означают! А то не учение, а паразитизм какой-то!))) Небольшая деталь неудовлетворенности все же имеется.( Дело в том, что я предполагаю выбирать позицию из списка при помощи ПКМ. До этого момента "главное" поле списка должно оставаться пустым. Предложенный же код реализует следующее. "Главное" поле остается пустым до тех пор, пока я не дотронулся до скрола. Как только я начинаю крутить скрол - так сразу, вслед за подсветкой, в главном поле начинают меняться значения. Как-то не ништяк выглядит.((( Можно ли этот трабл исправить?
0
|
|
|
81 / 18 / 1
Регистрация: 22.05.2013
Сообщений: 32
|
|
| 30.05.2013, 09:15 | |
|
Можно всё
)Можно попробовать вешать hook только после нажатия ПКМ. Можно вешать hook на контрол, а контрол скрывать до определённого момента/события Нужна конкретная постановка задачи Из описания не очень понятно...
1
|
|
|
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
|
|||
| 30.05.2013, 19:02 [ТС] | |||
|
Спасибо!
Вот это самое я и хотел бы реализовать. Сейчас это работает немного иначе. Посмотрите ваш ComboBox1. Разверните список и прокручивайте его колесом мыши. Видите? Вслед за движением подсветки меняются значения в верхнем поле. Мне же нужно, чтобы в поле все это время оставалось значение, которое я выбрал по-умолчанию (значение по-умолчанию я уже реализовал). И лишь только щелчком ЛКМ по выбранному значению, значение в поле должно поменяться.
0
|
|||
|
81 / 18 / 1
Регистрация: 22.05.2013
Сообщений: 32
|
|
| 31.05.2013, 00:22 | |
|
hook - это обработчик некоего события в системе (мышь, клавиатура, системные события). В системе одновременно "висит" много hook'ов каждого вида. При наступления события, касающегося мыши, обрабатываются все "мышиные" hook'и и все связанные процедуры.
Подробнее тут Документация MSDN (вообще рекомендую на MSDN почаще заглядывать. Hook'и - это уже не "начинающий" ![]() Я бы сделал невидимый Textbox (или несколько) и хранил в нём значение по-умолчанию или предыдущее значение Listbox'а. И чуть поигрался с событиями самого Listbox'а (click, exit, mousemove, change, keyup, keydown). Надо поиграться ![]() Можно вокруг Listbox'а сделать некую область, при выходе на которую (mousemove этой области) значение в Listbox'е восстанавливается из скрытого Textbox'а.
0
|
|
|
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
|
||
| 31.05.2013, 00:39 [ТС] | ||
|
Hedge-Hog, значение по-умолчанию я реализовал так: непосредственно в юзерформе, в комбобокс, по-тупому вписал это значение. Это меня вполне устраивает.
Вот чтобы они не прыгали/не менялись в поле при прокрутке списка мышью - это меня интересует. ЗЫ Вот при использовании скрул-бара (ползунка) этого не происходит. Надо бы, чтоб и с колесом мыши было то же самое. Добавлено через 2 минуты
0
|
||
|
81 / 18 / 1
Регистрация: 22.05.2013
Сообщений: 32
|
|
| 31.05.2013, 09:09 | |
|
Слышал, что можно изменить поведение стандартных элементов управления в VBA. Но не видел. У меня для подобных вещей скилл маловат
Может ещё кто подскажет. Лучше не мудрить
0
|
|
| 31.05.2013, 09:09 | |
|
Помогаю со студенческими работами здесь
12
Scroll up Scroll в scroll событие .on('scroll', Scroll в RichTextBox Scroll в datagrid Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|