Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

Обработка удаления в RichEdit e   Найти похожие ветки 

 
net_daemon   (2005-06-30 16:00) [0]

День добрый, уважаемые Мастера!
Вопрос, как я понимаю, вобщем-то не сложный, но за рабочий день решение в голову так и не пришло...
Есть RichEdit, в котором обрабатывается служебная информация (другими компонентами, вроде SynEdit"a решил не пользоваться - вроде пока должно хватить Рича).
Но вот вопрос - необходимо обработать нажатие backspace"a так, чтобы удалался не отдельный символ, стоящий перед ним, а, скажем, целое слово...Понимаю, что надо обрабатывать

RichEdit_KeyDown

и смотреть, если Key=VK_BACK,то -... ? А вот тут и встаю.
Откуда мне считывать символ, стоящий ДО курсора?
Далее, понятно - двигаюсь в обратную сторону до тех пор, пока не встречаю пробел, потом SelText и т.д. Но вот откуда взять символ, стоящий до курсора...
Заранее благодарен


 
ANB ©   (2005-06-30 16:03) [1]

RichEdit.SelStart и все, что начинается на Sel


 
net_daemon   (2005-06-30 18:08) [2]

Спасибо!

Ковырялся, и пока нашел только такое решение:

var
 CurrentPos, DelWordLength: integer;
...
 CurrentPos:=RichEdit.SelStart;
 with RichEdit do
     begin
         SelStart:=CurrentPos - DelWordLength;
         SelLngth:=DelWordLength;
         CutToClipboard;
     end;
...

И больше, пока, никаких методов удаления выделенного текста, кроме как в буфер обмена не нашел.
Реализовано так специально, или есть безвозвратные методы удаления?
Спасибо



Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.118 c
11-1103199023
Роман
2004-12-16 15:10
2005.07.18
Модальная форма в ActiveX под IE


3-1117704162
evg00
2005-06-02 13:22
2005.07.18
удаление записей


1-1120194700
Mishenka
2005-07-01 09:11
2005.07.18
Как узнать запущена ли в данный момент другая программа?


8-1111498488
Graff
2005-03-22 16:34
2005.07.18
Запись в MP3 файл тэга


14-1119725269
lookin
2005-06-25 22:47
2005.07.18
Восстановить контакт в ICQ