Mario:
¿No será que tienes el ActionList
fuera del formulario?
Hace tiempo tuve esa duda porque si colocas el ActionList en un DataModule, los ShortCuts no son detectados por el formulario. Hice la pregunta en los foros de Borland y esto es lo que me sugirió Peter Below:
Código Delphi
[-]
interface
type
TForm1 = class(TForm)
protected
function IsShortCut(var Message: TWMKey): Boolean; override;
end;
implementation
function TForm1.IsShortCut(var Message: TWMKey): Boolean;
begin
Result := inherited IsShortCut(Message);
if not Result then
Result := DataModule2.ActionList1.IsShortCut(Message);
end;
Viendo el código original de IsShortCut, es sencillo deducir el porqué del problema y porqué la solución propuesta funciona.
// Saludos