Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28

Что не так с прокруткой в VB 6?

10.02.2022, 05:13. Показов 768. Ответов 13

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Я начинающий и многое для меня еще темный лес.

Проблема такая. Есть форма. Есть multiline textbox с вертикальной прокруткой. По задумке,
когда пользователь нажимает на стрелочки скроллинга вверх или вниз (или нажимает на поле),
внутрь поля ставится курсор (устанавливаем фокус) и дальше можно уже не щелкать по стрелочкам,
а крутить колесиком мыши до нужного значения. Исполняемый файл был сделан на XP в портабельном
VB6. В результате на XP все работает как надо, а вот на 7-ке и выше прокрутка работает частично.
Вниз да, а вверх нет! Почему-то... Ну и вместо одной позиции смещается на три (но это в принципе
не проблема, т.к. настраивается в панели управления/мышь.) - возможно это даже можно поменять
при запуске экзешника через реестр - еще не проверял. Сейчас об этом подумал только.

Наверное многие сталкивались с этой проблемой и возможно есть решение, но я его не знаю и еще
меня смущает один момент. В этом портабельном VB есть менеджер дополнений и там как раз есть
такая опция "MouseWheelFix (11-09-05) с описанием: Provides support for the mouse wheel within
the VB6 IDE. 11-09-05 - new safe subclassing code, add-in can be unloaded w/o IDE crash
(Winand)." - не знаю к чему это?

Включение/выключение этой опции проблему не решает. Может надо что-то писать в самом коде,
чтобы она включалась/выключалась?.. И вообще влияет ли она на компиляцию?

В общем, помогите решить проблему.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2022, 05:13
Ответы с готовыми решениями:

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

Что не так с кодом? ( пытаюсь понять, что не так? )
Есть исходный код. Hook, работает хорошо, но есть минус огромный - перестаёт писать в лог, при открытии программы\игры Фуллскрином. т.е...

Что не так с компилятором или почему программа рушится просто так?
Не обращайте внимание на г*внокод, в котором смешаны и Си и Си ++, здесь это не играет никакой роли. Вопрос в том, почему на онлайн...

13
dive
 Аватар для I can
4961 / 4662 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
10.02.2022, 05:26
Вин 10, не наблюдаю такой проблемы.
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
10.02.2022, 05:40  [ТС]
А Вы что использовали? Такой же портабельный IDE?

0
dive
 Аватар для I can
4961 / 4662 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
10.02.2022, 06:49
1
dive
 Аватар для I can
4961 / 4662 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
10.02.2022, 06:55
Цитата Сообщение от winuser74 Посмотреть сообщение
портабельный
Да.
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
10.02.2022, 09:03  [ТС]
Остается только понять чем ваша сборка отличается от той, что я использовал.
Смущает версия форм. А можете выложить куда-нибудь архив с вашей сборкой?

Ну или, если хотите, я могу выложить ту версию, что использовал и вы сами убедитесь,
что в ней точно косяк. Я даже думаю, что сведущие люди могли бы этот косяк в ней
исправить... там есть дополнительно Spy++ и Ole view. Я не разбираюсь, но наверное
с помощью этих штуковин можно выяснить в чем со сборкой проблема.

P.S. Прошу прощения у модеров, что забыл стереть инфу на картинке.)

Добавлено через 21 минуту
В принципе архив весит ~29 МБ, так что можно даже по почте отправить.
0
dive
 Аватар для I can
4961 / 4662 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
10.02.2022, 09:26
123.rar
1
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
10.02.2022, 10:09  [ТС]
Thanks. Попробовал. Та же фигня с прокруткой. Но я сразу не въехал, версия форм видимо зависит от
версии установленного офиса? Но как же скомпилированный файл? Ничего не понимаю...

Даже тупо в таком виде не пашет прокрутка вверх (что за бред е мое):

Visual Basic
1
2
3
4
Private Sub Form_Initialize()
Text1.Text = "1" & vbCrLf & "2" & vbCrLf & "3" & vbCrLf & "4" & _
vbCrLf & "5" & vbCrLf & "6" & vbCrLf & "7"
End Sub
В смысле на 7-ке и выше. На ХР но проблем.
0
dive
 Аватар для I can
4961 / 4662 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
10.02.2022, 10:19
winuser74, дело точно не в самой мыши?
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
10.02.2022, 10:48  [ТС]
А мышь то тут при чем? Она везде прекрасно пашет (прокрутка) и в блокноте, и в ворде.
Проблем с мышью точно нет.

Тупо текстбокс -> borderstyle = fixed, multiline = true, scrollbars = vertical. Пустая форма с
одним полем и все. И не але.

Надо найти машину с другим офисом и там скомпилировать для теста... но что это даст?
Кроме понимания, что с моей виндой какой-то бред... не знаю куда копать, кроме форм
и установленного офиса. Причем не работает то только вверх - это вообще мягко говоря
странно.

Добавлено через 19 минут
Елки-палки!!! Нашел причину! Посмотри пожалуйста у себя - повторится проблема или нет?
Просто на форме сделай окошко текстбокса, введи текст, что я писал при инициализации формы,
а окошко задай в твипах height = 315.

Я увеличил высоту окна просто для проверки и о чудо! Прокрутка стала работать нормально.
Вопрос в том, что надо еще теперь понять каковы границы минимальной рабочей высоты.))
0
dive
 Аватар для I can
4961 / 4662 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
10.02.2022, 10:55
Цитата Сообщение от winuser74 Посмотреть сообщение
окошко задай в твипах height = 315
Это ж одна строка только поместится. Нет, тоже проблем нет.

Цитата Сообщение от winuser74 Посмотреть сообщение
Я увеличил высоту окна просто для проверки и о чудо! Прокрутка стала работать нормально.
Ну так это здорово! Поздравляю

Добавлено через 50 секунд
Цитата Сообщение от winuser74 Посмотреть сообщение
scrollbars = vertical
оба ставил
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
10.02.2022, 11:15  [ТС]
Это уже плохо. На 320 у меня тоже не пашет. Почему 315 у меня не пашет, а у тебя пашет.
Где же собака порылась?

Высота для меня критична. Мне и нужно, чтобы была только одна строка,
мне приходится имитировать комбобокс с помощью текстбокса из-за того, что в нескольких настройках надо, чтобы
пользователь мог просто выбрать одно значение, а в одной настройке, чтобы он мог вводить текст напрямую.
Я пытался использовать комбобокс с dropdown combo, но у меня тогда не получается блокировать нажатия мыши
в это поле.

А если ты задашь еще меньше, например 280 у тебя будет работать?

Добавлено через 6 минут
Может это как-то связано с твипами и разрешением экрана???
0
dive
 Аватар для I can
4961 / 4662 / 845
Регистрация: 13.04.2015
Сообщений: 9,866
10.02.2022, 11:30
Цитата Сообщение от winuser74 Посмотреть сообщение
Может это как-то связано с твипами и разрешением экрана???
Да кто ж его знает. Пока остаётся только радоваться, что в новых версиях винды VB6 еще продолжает работать.
Но я стараюсь написанные на нём проекты переводить постепенно на C#, время не стоит на месте, а майкрософт уже и развитие VB.Net прекратили c 2020 года.
Цитата Сообщение от winuser74 Посмотреть сообщение
имитировать комбобокс
А если листбокс попробовать?
0
0 / 0 / 0
Регистрация: 29.05.2021
Сообщений: 28
10.02.2022, 12:17  [ТС]
Но у вас то работает по-вашим же словам! Значит проблема у меня в системе или в чем-то еще.
Даже при 400 не работает. Пробовал в пиксели переставить - ни фига. Пробовал переводить
мышь в режим +1 строку при прокрутке - тоже ни фига.

А как в листбокс пользователь текст будет вводить? Не подходит. Вариант - только разбираться
с блокировкой мыши в комбобоксе, но там что-то не так с hwnd самого поля видимо, точнее
с тем, что его hwnd - это не поле, а фактически область, где находится стрелка вниз.
Т.е. проблема мне представляется не решаемой.

Кстати мне показалось, что разрешение экрана тут не при чем, т.к. в RDP сессии ты получаешь
разрешение машины с которой подключаешься, т.е. своей собственной.

Добавлено через 8 минут
В общем придется вернуться к варианту пробовать компилировать файл где-то еще, на
машине с другим офисом.
Кстати при проверке вы случаем не форму 2.0 использовали? А то у меня обычная.
Буду уже вечером проверять.

P.S. Переводить код на си шарп это круто. Для меня это неподъемная задача. Я вообще
начинающий в принципе. Я в основном скриптами занимался на вб и лишь год с формами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.02.2022, 12:17
Помогаю со студенческими работами здесь

И так, что не так с моим запросом на добавление записи в таблицу?
$sql = 'INSERT INTO product ' . '(name, code, price, category_id, brand, availability,' . 'description,...

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее?
Вот код: #include <iostream> #include <conio.h> using namespace std; int main(){ float a,c; char b; skip: ...

Что в коде ни так? while не работает так, как ожидаю
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от 702 до 1000. Что ни так понимаю, где...

сегодня так можно сказать праздник так что...
простите меня за все пожалуйста!!!

Как сделать так, чтобы выпадающее меню одного фрейма выпадало поверх другого? Что не так в моем коде?
Как сделать так, чтобы выпадающее меню одного фрейма выпадало поверх другого? Что не так в моем коде? Знаю, что фреймы давно устарели, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru