Форум: "Основная";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
ВнизОбработка удаления в 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.038 c