Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2010
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 23
rrf Va por buen camino
Smile

Ecfisa, me has adelantado mientras preparaba la respuesta a mi propia pregunta.

Aquí está el código que preparé. El tuyo es más sencillo y claro; pero ya que lo hice, lo incluyo:

Código Delphi [-]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

      //  Teclas combinadas: en los EVENTOS OnKeyDown y OnKeyUp
      //---------------------------------------------------------

   if ( Shift = [ ssctrl ] )                                      // CTRL + S
      and ( ( ord ( Key ) = 83 ) or ( ord ( Key ) = 115 ) )      // CTRL + s
    then
      Label1.Caption := 'ctrl + s'

  else if ( Shift = [ ssAlt, ssctrl ] )                          // CTRL + ALT + j
      and ( ( ord ( Key ) = 106 ) or ( ord ( Key ) = 74 ) )      // CTRL + ALT + J
    then
      Label1.Caption := 'ctrl + alt + j'

  else if ( Shift = [ ssAlt ] )                                  // ALT + M
      and ( ( ord ( Key ) = 77 ) or ( ord ( Key ) = 109 ) )      // ALT + m
    then
      Label1.Caption := 'alt + m'' ;

end;

Desconocía la función "lo", que hace que la solución que tú aportaste sea más sencilla.

Bueno, si se quiere conocer el código Ascii de una letra o caracter sin consultar las tablas, con esta línea, se podrá ver el caracter y el código que le corresponde.

Código Delphi [-]
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin

  Label2.Caption := key + ' = ' + inttostr ( ord ( key ) ) ;

end;

Ojo, que está en el procedimiento FormKeyPress.

Gracias Ecfisa.

Saludos
Responder Con Cita
  #2  
Antiguo 29-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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
Es correcto.

Y un detalle más: Para que el Form detecte las teclas incluso cuando estamos dentro de un componente como por ejemplo un Edit,
hay que poner en el Form la propiedad KeyPreview igual a True.


Saludos.
Responder Con Cita
  #3  
Antiguo 29-10-2010
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 23
rrf Va por buen camino
Thumbs up

Cita:
Y un detalle más: Para que el Form detecte las teclas incluso cuando estamos dentro de un componente como por ejemplo un Edit,
hay que poner en el Form la propiedad KeyPreview igual a True.
Eso sí que es un aporte interesante y útil.

Muchas gracias y saludos.
Responder Con Cita
  #4  
Antiguo 31-08-2011
Avatar de MichelH
MichelH MichelH is offline
Miembro
 
Registrado: jul 2005
Ubicación: jalisco mexico
Posts: 44
Poder: 0
MichelH Va por buen camino
Gracias men, ya lo habia hecho una vez, pero tenia tiempo sin necesitarlo y ya no me acordaba.

Gracias de nuevo.
__________________
No hay misterios, sólo hay falta de información.
Tampoco hay milagros, sólo hay hechos científicos ignorados
Responder Con Cita
  #5  
Antiguo 06-04-2013
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 585
Poder: 23
santiago14 Va por buen camino
Hago mi pequeño aporte a este hilo, estuve probando la combinación de tres teclas y no me funcionaba bien. Claro, estaba en el evento incorrecto.

Supongamos que quiero usar Ctrl + Shift + 1, lo hago en KeyUp y solucioné el problema.
Introduzco el comando Ord(), que me dice cual es el código de la tecla que presiono y me independizo de la tabla ASCII. Estoy en Delphi 7.

Saludos, Santiago.

Código Delphi [-]
procedure TfrmEmisionRecibos.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Shift = [ssCtrl, ssShift]) and (Key = Ord('1')) then
  begin
    MessageBox(Handle, 'Ctrl + Shift + 1', 'Teclas', MB_OK);
  end;
end;
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #6  
Antiguo 09-08-2017
DarkSton DarkSton is offline
Miembro
 
Registrado: jun 2017
Posts: 64
Poder: 10
DarkSton Va por buen camino
Hola

Para que esto funcione debe estas el programa en primer plano? Osea si abro el programa y minimizó y abro otra cosa "un juego" y al presionar control+alt el form captura la pulsación de los 2 botones?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturar combinaciones de teclas tipo CTRL + A almudena_13 Varios 6 11-11-2015 09:16:52
Bloquear teclas CTRL+ALT+SUPR en Windows 7 octavioallec API de Windows 5 07-03-2011 20:08:40
Deshabilitar las Teclas Ctl+Alt+Del, Alt+Tab, Ctl+Shift+Esc y Start yoennis Varios 2 10-03-2009 01:48:38
como desactivar las teclas Alt o Ctrl Hitsugaya API de Windows 2 03-12-2008 20:13:41
Cómo hacer para que la aplicación detecte la pulsación de 2 teclas ¿? Slaughter Varios 5 13-02-2004 15:37:28


La franja horaria es GMT +2. Ahora son las 09:59:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi