No recuerdo donde encontre este codigo que hace que Enter funcione como TAB a nivel de aplicación, solo hay que ponerlo una vez en el formulario principal y ya funciona para todos los demas formularios.
Lo comparto con uds pues me resulto muy optimo
{-------------------- Para hacer que Enter funcione como TAB-------------------} procedure TfrmPrincipal.AppMessage(var Msg: TMsg; var Handled: Boolean); var actual: TWinControl; begin if Msg.message = WM_KEYDOWN then if Msg.wParam = VK_RETURN then begin actual:=Screen.ActiveControl; if (actual is TDBEdit) or (actual is TEdit) or (actual is TDBComboBox) or (actual is TComboBox) then Msg.wParam:=VK_TAB; end; end;
Pero hay un detalle que me gustaria optimizar
En el ejemplo hay que preguntar por cada Control en el que se quiere que funcione con un if
Si tengo que usar muchos controles la instruccuin if se me haría muy larga
Alguien sabe alguna forma mas optima de arreglar ese detalle?