Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];

Вниз

Как узнать о том, что в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.026 c
1-95422
Alibaba
2002-07-16 15:12
2002.07.29
Свой тип


1-95388
PONTIY
2002-07-16 06:38
2002.07.29
XML


14-95485
Вова
2002-06-30 14:01
2002.07.29
Code Template


1-95383
finger
2002-07-15 09:51
2002.07.29
Доступ к файлу


3-95189
Кузнецов
2002-07-05 14:35
2002.07.29
Запросы буть они не ладны





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский