Ver Mensaje Individual
  #6  
Antiguo 29-10-2010
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
Cita:
Empezado por rrf Ver Mensaje
Muchas gracias por sus comentarios.

Me han sorprendido un poco porque, para ser franco, pensaba que eso lo sabía hacer todo el mundo..., aunque quizás le serviría a alguien que se iniciaba en Delphi.

Por cierto, si alguien sabe una forma de hacerlo más fácil o de mejor forma, podría ser este hilo un buen lugar para compartirlo.

Siguiendo la sugerencia de defcon1_es, he intentado incluirlo en la sección "trucos", pero está desactivada.

Y, ya que estamos, ayer intenté obtener pulsaciones de "Ctrl+r", "Ctrl+Alt+r" o cualquier otra letra y no me salió. Era muy tarde y lo dejé. ¿Alguien sabe como se hace?.

Saludos.
Hola rrf.

Tenés razón seguramente muchos lo sepan, hay pocas cosas que no estén vistas o escritas pero, vos fuiste el único a quién
se le ocurrió exponerlo para ayudar a aquellos que lo ignoran... Así que nuevamente: Gracias por el aporte.

En cuanto a capturar "Ctrl+r" y "Ctrl+Alt+r", probá así:
Código Delphi [-]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  (* En el byte de bajo órden está el código del caracter.
      se obtiene con la función Lo. Código letra r = 82 *)
  // Ctrl + 'r'
  if (Shift = [ssCtrl]) and (Lo(Key) = 82) then
    ShowMessage('Ctrl+r');
  // Ctrl + Alt + 'r'
  if (Shift = [ssCtrl,ssAlt]) and (Lo(Key) = 82) then
    ShowMessage('Ctrl+Alt+r');
end;

Saludos.

Última edición por ecfisa fecha: 29-10-2010 a las 01:01:11.
Responder Con Cita