Как я могу обрабатывать клавиши со стрелками в пользовательском компоненте в Delphi? - PullRequest
3 голосов
/ 26 октября 2010

Я использую Delphi XE. Я разрабатываю компонент от TPanel. TApGUITab=class(Tpanel) Я обработал событие нажатия клавиши, обработав сообщение WMKeyDown, но оно не вызывается при нажатии клавиш со стрелками и устанавливает фокус на другой элемент управления вместо вызова события. Что мне теперь делать?

1 Ответ

4 голосов
/ 26 октября 2010

Это легко. Просто ответьте на сообщение WM_GETDLGCODE и верните

Message.Result := Message.Result or DLGC_WANTCHARS or
                                     DLGC_WANTARROWS or DLGC_WANTTAB or
                                     DLGC_WANTALLKEYS;
...