|
Узнать положение курсора в текстовом поле dw
|
|||
---|---|---|---|
#18+
Добрый день! В обработчике события editchange текстового поля dw я помимо прочего вызываю dw.AcceptText(), после которой курсор в текущей строке перемещается в начало поля. Мне нужно сохранить его позицию, но чтобы восстановить ее с помощью SelectText, нужно знать, в какой позиции он был изначально. Есть ли возможность получить такую информацию? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 17:59 |
|
Узнать положение курсора в текстовом поле dw
|
|||
---|---|---|---|
#18+
14.11.2017 17:59, Apprehension пишет: > В обработчике события editchange текстового поля dw я помимо прочего > вызываю dw.AcceptText() --------------------------------------------------------------- EditChanged event (DataWindows) Occurs for each keystroke the user types in an edit control in the DataWindow. --------------------------------------------------------------- Зачем здесь вызывать AcceptText()? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 18:21 |
|
Узнать положение курсора в текстовом поле dw
|
|||
---|---|---|---|
#18+
Извините, но так делать нельзя Зачем вы так делаете? Как-то очень странно Какую проблему вы пытаетесь решить? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 18:47 |
|
Узнать положение курсора в текстовом поле dw
|
|||
---|---|---|---|
#18+
Position() ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2017, 22:26 |
|
Узнать положение курсора в текстовом поле dw
|
|||
---|---|---|---|
#18+
Попробую описать ситуацию для получения стратегических советов :) Задача: есть список телефонов, котрый можно править вручную. 1) Требуется автоматически расставлять дефисы и скобки после каждого нажатия клавиши, в зависимости от того, к паттерну какой страны принадлежит набираемый в данный момент номер. 2) Кроме того требуется тоже после каждого нажатия клавиши выкрашивать фоновый цвет элемента в зависимости от того является ли набираемый номер частью какого-то паттерна, попадает в него полностью, не попадает ни в какой паттерн и т.д. DW работает с источником External. Поскольку действия следует предпринимать после каждого нажатия, мне приходится писать обработчик события editChanged. Автоматическое добавление скобочек-дефисиков совершаю через функцию SetText, после чего необходимо правильно позиционировать курсор (поскольку длина новой строки может быть изменена). AcceptText() здесь не понадобился бы. Что касается второго задания, то, насколько я понимаю, в случае, если приходится индивидуально раскрашивать каждую ячейку, а не целый столбец целиком, следует воспользоваться возможностью задать цвет через формулу в пэйнтере объекта dw. Тем не менее, формула у меня сложная, среди встроенных подходящих нет. Поэтому я добавил в объект dw новый столбец и завел расчет цвета фона уже через его содержимое, а содержимое я рассчитываю через собственную пользовательскую формулу в обработчике editChanged. Однако, судя по всему, пока это значение не пропишется в буфер, цвет ячейки с телефоном не изменится. Поэтому мне пришлось использовать AcceptText(). (ПРИМЕЧАНИЕ: Выяснил, что AcceptText() положение курсора не меняет, а вот SetText() – меняет). Самому все это кажется не самым оптимальным, что посоветуете? di7 - спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 14:11 |
|
Узнать положение курсора в текстовом поле dw
|
|||
---|---|---|---|
#18+
1. По поводу курсора, может так поможет: Код: sql 1. 2. 3.
2. А по поводу скобок и дефисов, то сделайте маску на это поле ввода. 3. А по поводу большой функции и нет в художнике, так там можно на прямую указывать и пользовательскую функцию, если не ошибаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 16:54 |
|
Узнать положение курсора в текстовом поле dw
|
|||
---|---|---|---|
#18+
Для еще непринятого текста в буфере есть аргумент события - data Достаточно сделать Len(data), а потом поменять его через SetText На форуме куча примеров как сделать автоподстановку, можно не писать велосипед. Стандартно - предыдущее значение сохраняется в instance-переменной. Но люди правильно советуют - может применить маску ввода? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2017, 21:24 |
|
|
start [/forum/topic.php?fid=15&fpage=5&tid=1335145]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 235ms |
total: | 375ms |
0 / 0 |