Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
ZenTigra Сообщений: 514 Дата регистрации: 03.12.2004 |
При начале редактирования вне зависимости от того в какую часть текста кликнули мышкой, необходимо устанавливаться курсор в начало или конец текста в поле ввода (в зависимости от условия)
PS.Приведу пример для чего это нужно. Мышкой кликают в поле дата, но не попадают в начало поля, и начинают вводить дату, не смотря на экран, естественно возникает ошибка... Исправлено 1 раз(а). Последнее : ZenTigra, 16.02.17 18:34 |
Re: Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
Pliskin Сообщений: 2959 Откуда: Новосибирск Дата регистрации: 19.11.2003 |
TextBox.SelStart = 0 - Начало текста
TextBox.SelStart = Len( TextBox.Text ) - конец текста |
Re: Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
В фоксе такой чудесный текстбокс, что поставить курсор ввода "в последнюю позицию" невозможно в принципе - он может стоять только ПЕРЕД последним символом (если тем или иным образом задано ограничение по длинне вводимого выражения. если ограничения нет, то несколько теряется смысл "последней позиции").
Кроме того большое значение имеет в каком именно обработчике события писать этот SelStart = 0. GotFocus не подойдёт для входа в поле мышкой, а какой-нить Click "сам по себе" превращает редактирование в кошмар - т.к. ВСЕ тычки мышой будут двигать курсор в начало, попутно сбрасывая выделение. Человек захотевший исправить пару символов в середине строки из 50-100 буковок проклянёт программиста сделавшего такое "улучшение" - и я его в этом всемерно поддержу А вот отличать "первый" клик мышой в поле от последующих - это уже весьма непросто будет (из-за особенностей порядка срабатывания событий для этого контрола)... P.S. Вообще-то "тыкают МЫШКОЙ в поле" и "не смотря на экран" - это взаимоисключающие параграфы. Юзера, мягко говоря, привирают. Вот что "не могут попасть точно в нужное место" - это да, в это ещё можно поверить А для чистого ввода с клавиатуры (вход по Tab/Enter/клавиши со стрелками) вполне хватает свойств типа SelectOnEntry и Format="K". ------------------ WBR, Igor Исправлено 1 раз(а). Последнее : Igor Korolyov, 17.02.17 00:06 |
Re: Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
ZenTigra Сообщений: 514 Дата регистрации: 03.12.2004 |
Спасибо за совет, он мне "неожиданно" пригодился, но в другом месте, а с проблемою в положении курсора в поле для ввода Даты я вышел по другому, я отцентровал дату по правому краю, и теперь появилось больше места для попадания в начало ввода курсором мышки. |
Re: Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
krin Сообщений: 172 Дата регистрации: 08.02.2005 |
в textbox.Click IF EMPTY(this.Value) this.SelStart = 0 ENDIF |
Re: Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
matod Сообщений: 3062 Откуда: Иркутск Дата регистрации: 31.10.2001 |
Если задача в том, чтобы по щелчку мыши дата выделялась так же, как при переходе в поле по TAB (при установленном свойстве SelectOnEntry), можно в событие when текстбокса добавить строку
Это бывает удобно для полей, в которых пользователь как правило либо ничего не меняет, либо меняет все или большую часть. В остальных полях я добавляю в событие Click
т.к. в пустом поле плохо видно, встал ли курсор точно в начало строки или же перед ним еще пробелы есть. |
Re: Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Для "пустого" поля - да, весьма удобно, но для заполненного проблема так просто не решается... Именно чтобы и становилось хорошо при первом входе, и не мешало потом мышкой же перемещаться по тексту... Благо не так уж часто это нужно - обычно хватает просто "выделения всего", т.е. предполагая что пользователь будет целиком заменять введенный текст.
------------------ WBR, Igor |
Re: Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
matod Сообщений: 3062 Откуда: Иркутск Дата регистрации: 31.10.2001 |
Это уже извращение, я считаю. Потому, что установка курсора при первом клике на непустом поле в первую позицию - вещь не интуитивно понятная и не всегда нужная. Часто ведь при изменении введенного значения нужно только подправить в серединке что-то, а не перебивать все значение. |
Re: Как заставить курсор устанавливаться в начало/конец поля ввода... | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Про то ж и речь
------------------ WBR, Igor |
© 2000-2024 Fox Club  |