Microsoft Access, как остановить возврат прокручиваемого текстового поля наверх (например, прокрутка вверх) при потере фокуса - PullRequest
0 голосов
/ 08 декабря 2018

Я использую Access 2016 в Win 10, все обновлено и актуально.У меня есть форма со стандартным Access TextBox с вертикальной полосой прокрутки.Все в порядке, если я не прокручиваю вниз, а затем щелкаю по полю, чтобы прочитать информацию из другого источника или чего-либо еще, потому что прокручиваемый текст возвращается к началу, и мне нужно прокрутить вниз до того места, где я находился, прежде чем возобновить работу.Это напрасно тратит время и расстраивает мой ход мыслей.

Я не вижу никакого свойства или метода, чтобы заблокировать «каретку» или иным образом отключить это раздражающее поведение.Я также исследовал всюду, где только могу придумать, и, кажется, никто не знает, что с этим делать.

Я даже создал свои собственные кнопки прокрутки, которые отлично работали, за исключением того, что мне было сложно пытаться отслеживать текстположение, если я добавил или удалил текст.Так что, если у кого-то есть хорошая пользовательская полоса прокрутки в VBA / VB6, я бы хотел ее увидеть, пожалуйста.

Спасибо за ваше время и советы.Я ценю это.

Кент в КЦ.

1 Ответ

0 голосов
/ 08 декабря 2018

Установка и восстановление выбранной позиции:

Option Compare Database
Option Explicit

Private LastPosition    As Long 

Private Sub YourTextbox_LostFocus()

    LastPosition = Me!YourTextbox.SelStart

End Sub

Private Sub YourTextbox_GotFocus()

    Me!YourTextbox.SelStart = LastPosition
    Me!YourTextbox.SelLength = 0

End Sub

Private Sub Form_Current()

     ' Reset last position.
     LastPosition = 0

End Sub

Она прокручивает текстовое поле, чтобы сделать строку слева от верхней строки видимой.

...