Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-02-2005
JODELSA JODELSA is offline
Miembro
 
Registrado: may 2003
Posts: 89
Poder: 21
JODELSA Va por buen camino
tab que numero de tecla es

hola!

En mis aplicaciones utilizo la tecla Enter para validar y moverse al siguiente campo, de esta manera:

if key = 13 then
begin
.....
....
end;

Quiero Hacer lo mismo pero con la tecla TAB, pero no se cual es el número de esta, si hay algun lugar donde puedo encontrar esto valores diganmelo.
Responder Con Cita
  #2  
Antiguo 28-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
9

// Saludos
Responder Con Cita
  #3  
Antiguo 28-02-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Este ejemplo aunque no funciona con todas las teclas, en concreto con TAB no va, pero te puede servir para la mayoría.

Código Delphi [-]
 
 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
   Shift: TShiftState);
 begin
 Label1.Caption:='Tecla '+inttostr(key);
 end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 28-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Leyendo la respuesta del amigo Marcos veo que tengo que leer con más detenimiento la pregunta original.

Ciertamente 9 es el código de la tecla de tabulación pero no podrás detectarla con lo métodos usuales de los eventos OnKeyDown, OnKeyUp u OnKeyPress.

La tecla Tab es una tecla especial para mover el foco del control activo y por lo mismo no se manda a los controles de la misma forma que otras teclas.

Un Edit, por ejemplo, no recibe el evento OnKeyDown ni OnKeyPress con esta tecla. Sí recibe el OnKeyUp pero demasiado tarde: si el foco está en Edit1, al oprimir Tab, primero se cambia el foco al siguiente control, digamos Edit2 y éste último es quien recibe el evento.

Podrías intentar poner una componente TApplicationEvents y usar su evento OnMessage para detectar la tecla:

Código Delphi [-]
if (Msg.message = WM_KEYDOWN) and (Msg.WParam = 9) then
  ...

// Saludos
Responder Con Cita
  #5  
Antiguo 01-03-2005
JODELSA JODELSA is offline
Miembro
 
Registrado: may 2003
Posts: 89
Poder: 21
JODELSA Va por buen camino
Mi problema consiste exactamente en que tengo un edit en mi formulario
y controlo varios proceso cuando el usuario presiona ENTER, pero algunos usuario presionan TAB para salir, por lo que quiero evitar que salgan del edit con TAB, puedo hacerlo tambien en el evento on EXIT y lo hace aunque salgan con TAB, pero en algunas ocaciones me produce un efecto algo incomodo.
Responder Con Cita
  #6  
Antiguo 01-03-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues tal como te dije. Hasta donde probé ayer, si en el evento OnMessage de una componente ApplicationEvents pones

Código Delphi [-]
if (Msg.message = WM_KEYDOWN) and (Msg.WParam = 9) then
  Msg.Wparam := 0;

inhabilitas la tecla del todo.

// Saludos
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


La franja horaria es GMT +2. Ahora son las 17:20:25.


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