Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Duda sobre los eventos VK_... (https://www.clubdelphi.com/foros/showthread.php?t=20551)

gryphus 19-04-2005 12:08:57

Duda sobre los eventos VK_...
 
He conseguido asignarle a la tecla '+' la funcion del tabulador, pero mi jefe me a planteado un problema que no se si es posible...
Me pide que use una sola tecla, la tecla '+' como si fuera la combinacion SHIFT+TAB, o sea, que en vez de avanzar el foco lo retroceda... Es posible eso?
Si es posible... como se hace??? llevo peleado un rato con el pero no hay manera... :confused: :(
Gracias por adelantado!

yusnerqui 19-04-2005 14:46:01

Hola
 
Bueno pues probé esto y parese funcionar, el truco original lo saqué de trucomanía
Pon esto en el onKeyPress del form y pon su propiedad KeyPreview a true
Código Delphi [-]
  if Key = #13 then                          
  begin
      Key := #0;                                 
      Perform(WM_NEXTDLGCTL, -1, 0);              
  end

Pruébalo, espero te funsione. en este caso usé el código del enter, puedes modificarlo para usar el código de otra tecla.

Saludos Yusnerqui

gryphus 19-04-2005 17:39:01

Ok
 
Ok! Muchas gracias! Ahora no puedo probarlo pues estoy en el instituto y hasta mañana por la mañana no podré comprobar si funciona o no... De todas maneras, mañana comentare que tal me ha ido
Gracias por las molestias, de todos modos! ;)

gryphus 20-04-2005 11:59:30

Estupendo
 
Pues si, el código que me diste funciona a la perfección, hace exactamente lo que yo quería. Grácias! ;)

gryphus 06-05-2005 10:10:09

Siguen los problemas...
 
Mis fantasmas me persiguen!!!! :(
El problema que tenia antes con la tecla '+' (el de tirar hacia atras como si fuera el tabulador + tecla shift) lo solucioné. Però ahora resulta que el programa que estoy haciendo debe leer, tambien, codigos de barras a partir de un lector de estos...
Si activo el KeyPreview a true, el lector no me funciona, pero puedo usar la combinación de teclas que menciono anteriormente. Si el keypreview lo dejo a false, el lector funciona, pero lo de la tecla '+' no me tira... :(
Hay alguna manera de hacer que el foco vaya hacia atras apretando el '+' sin necesidad de activar el keypreview?????
Yo he ido haciendo pruevas, incluso intento activar y desactivar automaticamente el keypreview cuando presiono una tecla... pero no me funciona... que puedo hacer???
Gracias por adelantado!

gryphus 10-05-2005 11:33:27

Al final consegui solucionar el problema que tuve! No entiendo el porqué, pero cuando tenia activado el keypreview no me ejecutava una función especial. Lo he solucionado forzando que llame a la función y va perfectamente!

Gracias igualmente... chao! ;)

DarKraZY 11-05-2005 19:08:46

KeyPreview hace que el primero en recibir la pulsación de tecla sea el form.
Seguramente tendrás el problema en el evento que gestiona la pulsación (ya sea OnKeyDown, OnKeyPress...) y anules todas las pulsaciones de tecla.
Recuerda que el parámetro Key en estos eventos es de tipo var.


La franja horaria es GMT +2. Ahora son las 12:41:25.

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