powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перехват WM_PASTE
3 сообщений из 3, страница 1 из 1
Перехват WM_PASTE
    #34189621
Alik SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые знатоки!
Такая ситуация - есть форма, на ней достаточно много контолей ввода TEdit.
Каждый контролл ссылается на структуру где хранятся его допустимые наборы ввода.
Так вот с обработкой таких событий как KeyDown и KeyPress вроди бы все понятно, но остается момент когда пользователь пытается вставить в ето поле значения из буффера.

На етот счет я определяю след код:

OldEditProc = Edit1->WindowProc;
Edit1->WindowProc = NewEditProc;

void __fastcall TForm1::NewEditProc(Messages::TMessage &Message)

{
if (Message.Msg == WM_PASTE) {
if(ClipboardCheck())
OldEditProc(Message);

else {
ShowMessage("Недопустимый ввод");
return;
}
}
else
OldEditProc(Message);
}

где OldEditProc определен как

TWndMethod OldEditProc;


НО!
Возникает проблема как я для сотни контролей определю перехват?
Я попытался присвоить NewEditProc двум контролламб возникли ошибки (

Пожалуйсто помогите )
...
Рейтинг: 0 / 0
Перехват WM_PASTE
    #34191605
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поможет производный класс от TEdit c полем OldEditProc и методом NewEditProc.
На базе этого класса можно создать компоненту TMyEdit.
После этого останется только в dfm файле заменить TEdit на TMyEdit.
...
Рейтинг: 0 / 0
Перехват WM_PASTE
    #34192157
Alik SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, я думал об етом методе, но хотелось бы более универсальный вариантб так как ето будет в далбнейшем каксатся и других сонтроллей ввода :(
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Перехват WM_PASTE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]