powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как передвинуть курсор в Memo?
10 сообщений из 10, страница 1 из 1
Как передвинуть курсор в Memo?
    #32377882
lek.sys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация такая. Дано TMemo. Некоторые спецсимволы, которых нет на клаве, можно ввести нажатием определенной клавиши в программе. Хотелось бы, конечно, чтобы курсор передвинулся и встал после введенного симола\группы символов.
Memo1.CaretPos.x:=Memo1.CaretPos.x+1 не прокатывает, т.к. компилятор говорит, что left sight can't be assigned to

Pos.X:=Pos.X+8;
Memo1.CaretPos:=Pos;
Где Pos - переменная типа TPoint прокатывает, но глючит - нельзя вставить в произвольно выбранное место текста символ - он вставляется в конце.

Pos:=Memo1.CaretPos
Pos.X:=Pos.X+8;
Memo1.CaretPos:=Pos;
Вообще не работает. Как быть?
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378000
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Memo1.SelStart
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378108
SnowMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторый спецсимволы (в частности TAB) не позволяют ставить курсор в некоторые позации. Выходов несколько:

1. Посылка сообщения о нажатии стрелки влево, что типа (не проверял):
SendMessage(Memo1.Handle, WM_KEYDOWN, VK_LEFT, 0);
SendMessage(Memo1.Handle, WM_KEYUP, VK_LEFT, 0);

2. Оставить курсор на месте, пользаватель если надо сам подвинет.

3. В зависимости от кода символа расчитать на сколько позиций двигать.
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378116
lek.sys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да пробовал я SelStart.
Дело в том, что
Memo1.SelStart:=Memo1.SelStart+1;
Не работает вообще. Т.е. компилируется, но курсор не двигается.
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378143
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Memo1.SetFocus;
Memo1.SelStart:=Memo1.SelStart+1; - все работает
Может ты пытаешся сдвинуть курсор до того как вставляешь символ?
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378154
lek.sys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2oleg_e
Да нет, сдвигаю как раз после...
Ты знаешь, в моем случае первый раз прокатывает, курсор действительно сдвигается. А вот второй раз нажатия на ту же клавишу уже не катит.
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378214
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код можно?
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378233
lek.sys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код:

Memo1.Text:=Memo1.Text+Evro.Caption;
Memo1.SetFocus;
Memo1.SelStart:=Memo1.SelStart+1;

Evro - кнопка типа TSpeedButton
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378267
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оставь только
Memo1.SelText:=Evro.Caption;
...
Рейтинг: 0 / 0
Как передвинуть курсор в Memo?
    #32378301
lek.sys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И действительно... Аж самому обидно, каким ламером был... Большое пасибо, oleg_e!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как передвинуть курсор в Memo?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]