Ver Mensaje Individual
  #5  
Antiguo 08-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita