![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
![]() C таким же успехом пользователь может поставить на хоткей Ctrl+C или Ctrl+X и т.п. (т.е на те комбинации клавиш, которые уже зарегистрированные в системе)...А у меня в компоненте, есть флаг, который отвечает за передачу сообщения дальше (я думал это можно сделать с помощью DefWindowProc, но, видимо, ошибался)...Хотелось бы узнать, зачем вообще нужна процерура DefWindowProc (т.к. что с ней, что без нее...все работает одинаково)...и как передать сообщение дальше на обработку (учитывая что наша процедура словила хокей...тот же пример с Ctrl+V, ну или с любой другой,зарегистрированной в системе ,комбинацией клавиш (Ctrl+Z,Win+D,Ctrl+S и т.п.))
|
#17
|
||||
|
||||
![]() правильно, DefWindowProc вообще ни при чем, как я уже писал об этом выше. как такой вариант:
Код:
program Project1; {$APPTYPE CONSOLE} uses Windows, Messages; var AMsg: TMsg; Tag: Integer = 0; begin if not RegisterHotKey(0, 1, MOD_CONTROL, Ord('V')) then begin Writeln('!RegisterHotKey'); Readln; end else begin while GetMessage(AMsg, 0, 0, 0) do begin if AMsg.message=WM_HOTKEY then begin Writeln('WM_HOTKEY'); Inc(Tag); if Tag=5 then Break; end; end; UnregisterHotKey(0, 1); end; end. Пишу программы за еду. __________________ |
#18
|
|||
|
|||
![]() Если воспользоваться вот этим вариантом...оно-то работать будет...но, как и мой вариант, но после перехвата WM_HOTKEY, сообщение вставки (если хоткей стоит на Ctrl+V) не дойдет до того же блокнота...
|
#19
|
||||
|
||||
![]() да перехват WM_HOTKEY тут тоже ни при чем. можно зарегистрировать хоткей и не обрабатывать его сообщение - эффект, естественно, будет тот же. когда установлен хоткей Ctrl+V, то вообще не будет генерироваться сообщение WM_PASTE для контрола - некому его генерировать будет. хоткеи это не цепочка, в отличии от Hooks.
Пишу программы за еду. __________________ |
#20
|
|||
|
|||
![]() получается, я, в любом случае, регистрируя хоткей, не смогу передать сообщение дальше...так?
|