![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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:
// Saludos |
|
#2
|
|||
|
|||
|
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. |
|
#3
|
||||
|
||||
|
Pues tal como te dije. Hasta donde probé ayer, si en el evento OnMessage de una componente ApplicationEvents pones
inhabilitas la tecla del todo. // Saludos |
|
#4
|
|||
|
|||
|
Tu me dice que ApplicationEvents es un componente, donde lo consigo,
|
|
#5
|
|||
|
|||
|
Excusame pero ya lo encontre
gracias.. |
|
#6
|
|||
|
|||
|
Oye la operación fue un exito....
|
|
#7
|
|||
|
|||
|
Acá están dos ejemplos de como se puede capturar la tecla TAB, el primero para el evento KeyDown o KeyUP y el segundo para el evento KeyPress.
Código:
procedure TForm1.dbgDetalleKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_TAB then
Key := 0;
end;
procedure TForm1.dbgStockKeyPress(Sender: TObject; var Key: Char);
begin
if key = #9 then
Key := 0;
end;
__________________
Saludos. |
|
#8
|
||||
|
||||
|
Cita:
// Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|