Ver Mensaje Individual
  #4  
Antiguo 11-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No sé, realmente no se me había ocurrido experimentar con esas teclas en un TPanel...
Probá si de este modo le das solución:
Código Delphi [-]
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    ...
  private
    procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;
  public
  end;
...

implementation

procedure TForm1.CMDialogKey(var Message: TCMDialogKey);
begin
  if Panel1.Focused then  
  begin
    case Message.CharCode of
      VK_LEFT  : ShowMessage('VK_LEFT');
      VK_RIGHT : ShowMessage('VK_RIGHT');
      VK_UP    : ShowMessage('VK_UP');
      VK_DOWN  : ShowMessage('VK_DOWN');
      VK_TAB   : Perform(WM_NEXTDLGCTL, 1, 0);  (* para abandonar el foco *)
    end;
    Message.CharCode:= 0; (* no pierde el foco con: VK_UP,... *)
  end;
   ...
   inherited;
end;
...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-04-2011 a las 16:59:03.
Responder Con Cita