Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши  [new]
tuke
Member

Откуда:
Сообщений: 27
Доброго времени суток,

Как перенести фокус мыши программно, в начало маски ввода, при переходе в поле, с помощью указателя мыши?

Если переходишь по Tab, то все хорошо, фокус становится в начале маски ввода
если указателем мыши щелкнул не в начале поля, а где нибудь в середине или еще хуже в конце поля, то ввод начнется с этого места, куда ткнули и соответственно введется не весь текст

поэтому приходится наводить указатель в начало еще раз, что согласитесь не удобно.

попробовал применить этот код, но возникает проблема со стиранием текста если пользователь не правильно ввел данные.

Private Sub surname_Click()

Application.SetOption "Behavior entering field", 0
Me.surname.SelStart = 0
Me.surname.SelLength = 0

End Sub
5 сен 19, 14:23    [21964599]     Ответить | Цитировать Сообщить модератору
 Re: Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 316
"фокус мыши" это что?
А какая "маска ввода у Me.surname" для ввода Фамилии?
Для перевода курсора на 1-ю позицию в пустом поле типа "Дата" с маской ввода:
Private Sub Дата_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
 If (Not IsNull(Me.Дата)) Or Me.Дата.SelStart = 0 Then Exit Sub
    Me.Дата.SelStart = 0
End Sub
5 сен 19, 15:04    [21964645]     Ответить | Цитировать Сообщить модератору
 Re: Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши  [new]
tuke
Member

Откуда:
Сообщений: 27
Кривцов Анатолий, фоку мыши я имел ввиду курсор.
маска поле surname >L<?????????????????????????????????????;0;

ваш код работает но обнаружил, что когда обратно удаляю текст с поля работает только backspce. delete не работает то есть надо будет
курсор ставить на конец текста и удалить клавишей backspce
5 сен 19, 15:27    [21964684]     Ответить | Цитировать Сообщить модератору
 Re: Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 316
tuke
обнаружил, что когда обратно удаляю текст с поля работает только backspce. delete не работает то есть надо будет
курсор ставить на конец текста и удалить клавишей backspce
Мой код точно на это не влияет. Ищите другую причину.
Может клавиша "delete" сломалась?
5 сен 19, 16:24    [21964753]     Ответить | Цитировать Сообщить модератору
 Re: Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши  [new]
tuke
Member

Откуда:
Сообщений: 27
Кривцов Анатолий, клавиша del работает в других приложениях
6 сен 19, 04:24    [21965037]     Ответить | Цитировать Сообщить модератору
 Re: Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши  [new]
Шаман
Member

Откуда:
Сообщений: 186
Кривцов Анатолий
tuke
обнаружил, что когда обратно удаляю текст с поля работает только backspce. delete не работает то есть надо будет
курсор ставить на конец текста и удалить клавишей backspce
Мой код точно на это не влияет. Ищите другую причину.
Может клавиша "delete" сломалась?

tuke
маска поле surname >L<?????????????????????????????????????;0;
Del-у не дает срабатывать маска ввода. Т.е. первый символ удаляется, а дальше маска не пускает
8 сен 19, 11:46    [21966262]     Ответить | Цитировать Сообщить модератору
 Re: Перенос фокуса мыши в начало маски ввода, при переходе в поле указателем мыши  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 316
Шаман
tuke
маска поле surname >L<?????????????????????????????????????;0;
Del-у не дает срабатывать маска ввода. Т.е. первый символ удаляется, а дальше маска не пускает
tuke, а нафига вам эта маска? Проверяйте и корректруйте введенное значение на BeforeUpdate поля. К тому же фамилии бывают разные, с несколькими заглавными буквами.
9 сен 19, 09:38    [21966569]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить