Помогите отловить нажатие стрелок
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
и всё работает, то для TCustomControl это не прокатывает, перехватываются не все клавиши в частности клавиши со стрелками не перехватываются.
Подскажите как перехватить нажатия клавишь со стрелками в TCustomControl, который я помещаю на форме.
О каком компоненте идёт речь?
Не о каком. Я сам создаю потомка от TCustomControl, скажем - белый квадрат. Передаю ему фокус ввода. Так вот при отлове сообщений WM_KEYDOWN для него клавиши со стрелками не отлавливаютс, буквенно-цифровые - нормально отлавливаются. KeyPreview у формы установлено в False.
Пример неработающего кода можете выложить?
в объявлении класса:
Код:
procedure WMGetDlgCode(var Message: TMessage); message WM_GetDlgCode;
в реализации:
Код:
procedure TCustomGuiEngine.WMGetDlgCode(var Message: TMessage);
begin
Message.Result := DlgCode;
end;
begin
Message.Result := DlgCode;
end;
где
Код:
DlgCode := DLGC_WANTARROWS or DLGC_WANTTAB or DLGC_WANTCHARS;