Цитата:
Сообщение от Помидоркин
Нет, не работает.
Код:
procedure TBaseGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
- Нужен, фокуса действительно небыло. А вот VK_DOWN не работает, VK_SPACE, VK_RETURN работает, а стрелка вниз нет.
|
Стрелки перехватываются в процессе обработки очереди сообщений и обрабатываются как команды перемещения фокуса ввода между элементами управления.
Чтобы этого не происходило нужно отлавливать сообщение WM_GETDLGCODE:
Код:
type
TBaseGrid = class(TCustomControl)
.....
protected
procedure WMGetDlgCode(var Msg: TWMGetDlgCode); message WM_GETDLGCODE;
.....
end;
.....
procedure TBaseGrid.WMGetDlgCode(var Msg: TWMGetDlgCode);
begin
Msg.Result := DLGC_WANTARROWS;
end;