|
|
|
Перехват WM_PASTE
|
|||
|---|---|---|---|
|
#18+
Уважаемые знатоки! Такая ситуация - есть форма, на ней достаточно много контолей ввода 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 двум контролламб возникли ошибки ( Пожалуйсто помогите ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 11:50 |
|
||
|
Перехват WM_PASTE
|
|||
|---|---|---|---|
|
#18+
Поможет производный класс от TEdit c полем OldEditProc и методом NewEditProc. На базе этого класса можно создать компоненту TMyEdit. После этого останется только в dfm файле заменить TEdit на TMyEdit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2006, 20:32 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=57&tid=2029850]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
166ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 441ms |

| 0 / 0 |
