Вкладка, как и клавиши со стрелками, ввод и выход, являются специальными клавишами, используемыми в диалоговой навигации.Когда элемент управления хочет получить эти ключи, он должен указать это, отвечая на WM_GETDLGCODE .Как этот код ниже.Затем вы получите событие KeyDown при нажатии Tab.
procedure WMGetDlgCode(var Msg: TWMGetDlgCode); message WM_GETDLGCODE;
procedure TYourControl.WMGetDlgCode(var Msg: TWMGetDlgCode);
begin
inherited;
Msg.Result := Msg.Result or DLGC_WANTTAB;
end;
Также см. здесь и здесь .
PS: И убедитесь, чтоваш элемент управления имеет фокус, или вы вообще ничего не получите (если CanFocus, то SetFocus; в MouseDown).