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

Вниз

Как узнать о том, что в RichEdit был вставлен текст???   Найти похожие ветки 

 
MAxiMum ©   (2002-07-15 10:20) [0]

Как узнать о том, что в RichEdit был вставлен текст и, по возможности, изменить вставляемый текст. Похоже, что данного обработчика не существует, как не существует и сообщения, приходящего от Windows.


 
MAxiMum ©   (2002-07-15 13:29) [1]

Никто не знает???


 
Destroyer   (2002-07-15 13:35) [2]

Обрабатывай WM_PASTE


 
MAxiMum ©   (2002-07-15 14:06) [3]

WM_Paste, как я понял, служит для вставки в Edit или в ComboBox из буфера. Обработка не идет (по крайней мере для компонента или надо для формы???).


 
olookin ©   (2002-07-15 14:09) [4]

А нельзя ли ловить нажатие Ctrl-V (в обработчике OnKeyDown) и сначала запоминать текущее положение каретки, а затем положение после нажатия этой комбинации? И если разность оных не равна 0, то текст вставлен (и следователно, лекго может быть получен).


 
MAxiMum ©   (2002-07-15 14:12) [5]

Можно, а также можно еще учесть и Shift+Ins, но...
1) а если пользователь выберет из контексного меню пункт "Вставить"?
2) а, что если он по другому вставит ("попытается достать правой ногой левого уха")?
Не решение это? Помогите, а?


 
olookin ©   (2002-07-15 14:17) [6]

Если вставка идет из пункта меню, то ничего ловить не надо, просто каждый раз при нажатии на этот пункт надо:
1. Запоминать положение каретки
2. Получать новые положения
3. Выдирать кусок текста, ограниченный этими положениями.

Если вставка идет из буфера, то только с помощью Ctrl-V (по крайней мере, это стандарт). Дальше то же самое, что и выше.


 
Destroyer ©   (2002-07-15 14:59) [7]

Проверяй по OnChange у RichEdit SelLength, после вставки из буфера оно не должно быть нулевым....Вроде просто...


 
MAxiMum ©   (2002-07-15 18:01) [8]

Только вроде...
>olookin
Говорю же все не предусмотришь. А как без пункта меню???
>Destroyer
А если пользователь выделил текст и начал нажимать клавиши... Тоже SelLength сначала ненулевое и OnChange сработает.


 
Destroyer ©   (2002-07-16 06:25) [9]

"А если пользователь выделил текст и начал нажимать клавиши... Тоже SelLength сначала ненулевое и OnChange сработает."

Неправда...Событие OnChange происходит после того, как текст изменился, а если пользователь выделил текст и нажал клавишу, то выделенный им фрагмент текста удалится....и SelLength=0


 
MAxiMum ©   (2002-07-16 09:57) [10]

Я имел в виду, если он после выделения еще и начнет всякие кнопочки ненужные нажимать на клавиатуре.
Короче, я понял, ничего при этом не происходит, по человечески не получается. Буду обрабатывать Ctrl+V, Shift+Ins, а контекстное меню своим замещу (благо есть чем дополнить его).
p.s. Спасибо за советы :))


 
Парасенок   (2002-07-16 14:41) [11]

ЗАчем мучиться-то? Есть такая штучка TrichEdit.Modified.



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
3-95220
Дельфятник
2002-07-08 10:56
2002.07.29
Почему не срабатывает TQuery.Eof?


1-95285
DKalinin
2002-07-17 09:40
2002.07.29
как сохранить excelьный файлбез лишних вопросов от excelя?


14-95555
Serg_2002
2002-07-03 10:00
2002.07.29
Мастера, мне не до смеха!!! Вопрос по ИнтернетЕксплореру


4-95625
ЛенаК
2002-05-21 09:54
2002.07.29
Проблема с функцией StringToWideChar


3-95186
str
2002-07-05 13:48
2002.07.29
Использование *.xls в качестве БД