Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Ассемблер
(Модератор:
Tuborg
) > Тема:
RichEdit и буфер обмена
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: RichEdit и буфер обмена (Прочитано 13420 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Kondrat
Интересующийся
Offline
RichEdit и буфер обмена
«
:
17-06-2009 09:15 »
Как запретить вставку данных в RichEdit из буфера обмена и обрабатывать это событие самому?
Пробую сабклассить RichEdit и ловить ctrl-v, не помогает.
Код:
mov eax,uMsg
.if eax==WM_KEYDOWN
.if wPm==VK_CONTROL
mov eax,lPm
shr eax,16
.if ax==1Dh
xor eax,eax
ret
.endif
.endif
jmp @F
.else
@@:
invoke CallWindowProc,pOldRichProc,hWin,uMsg,wPm,lPm
xor eax,eax
ret
.endif
invoke CallWindowProc,pOldRichProc,hWin,uMsg,wPm,lPm
xor eax,eax
ret
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: RichEdit и буфер обмена
«
Ответ #1 :
17-06-2009 09:25 »
попробуй забрить
WM_CUT
WM_COPY
WM_PASTE
WM_CLEAR
WM_UNDO
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Kondrat
Интересующийся
Offline
Re: RichEdit и буфер обмена
«
Ответ #2 :
17-06-2009 09:33 »
Цитата: Алексей1153++ от 17-06-2009 09:25
попробуй забрить
WM_CUT
WM_COPY
WM_PASTE
WM_CLEAR
WM_UNDO
пробовал.
Код:
.elseif
eax==WM_PASTE
int 3
эти сообщения вообще не ловятся :/
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: RichEdit и буфер обмена
«
Ответ #3 :
17-06-2009 09:45 »
а Spy++ или подобная программа что показывают ? Надо просто подсмотреть )
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: RichEdit и буфер обмена
«
Ответ #4 :
17-06-2009 09:48 »
нашёл в мсдн - не оно ?
EM_PASTESPECIAL
The EM_PASTESPECIAL message pastes a specific clipboard format in a rich edit control.
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Kondrat
Интересующийся
Offline
Re: RichEdit и буфер обмена
«
Ответ #5 :
17-06-2009 10:05 »
Цитата: Алексей1153++ от 17-06-2009 09:45
а Spy++ или подобная программа что показывают ? Надо просто подсмотреть )
Spy++ показывает только комбинацию нажатых клавиш - nVirtKey=VK_CONTROL, ScanCode=1Dh; это ловится.
WM_PASTE нет в списке.
ставлю бряк на EM_PASTESPECIAL и в род. окне и обработчике RichEdit - нифига. В списке сообщений EM_PASTESPECIAL нет тоже.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: RichEdit и буфер обмена
«
Ответ #6 :
17-06-2009 10:23 »
остаётся метод научного тыка: ловить ВСЕ сообщения, отбраковывать ненужные (сразу можно отбросить WM_PAINT , WM_MOUSEMOVE и тд)
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Basurman
Опытный
Offline
Пол:
Re: RichEdit и буфер обмена
«
Ответ #7 :
17-06-2009 19:32 »
WM_PASTE надо переписывать.
Если берётся стандартный RichEdit, значит надо переписать его стандартную обработку вставки из буфера обмена.
Записан
Kondrat
Интересующийся
Offline
Re: RichEdit и буфер обмена
«
Ответ #8 :
18-06-2009 06:59 »
Цитата: Basurman от 17-06-2009 19:32
WM_PASTE надо переписывать.
Если берётся стандартный RichEdit, значит надо переписать его стандартную обработку вставки из буфера обмена.
так в этом и вопрос - где это делать?? я не знаю где ловить этот ctrl-v.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: RichEdit и буфер обмена
«
Ответ #9 :
18-06-2009 07:38 »
Kondrat
, ты уже попробовал метод научного тыка ? Делов то минут на 10
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Basurman
Опытный
Offline
Пол:
Re: RichEdit и буфер обмена
«
Ответ #10 :
18-06-2009 11:47 »
Для чего ловить ctrl-v?
По нажатию ctrl-v, оконной поцедуре посылается сообщение WM_PASTE - вот его то и надо обработать самому.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Ассемблер
(Модератор:
Tuborg
) > Тема:
RichEdit и буфер обмена
Загружается...