Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-05-2004
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Poder: 21
bbjb Va por buen camino
Evente OnKeyPress

Buenas!!!

El evento OnKeyPress ¿es capaz de capturar las teclas de función F1,F2,F3...?, porque cuando pulso cualquier otra tecla se activa este evento pero para estas otras no responde.


Un saludo
Responder Con Cita
  #2  
Antiguo 18-05-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
No se si sera capazde capturarlas pero yo lo hago con el evento KeyUp y lascpomparo con las variables

VK_F1
VK_F2 ...
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 18-05-2004
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Poder: 21
bbjb Va por buen camino
Gracias

No había pensando en utilizar este evento.

Lo he probado y ha ido a las mil maravillas, muchas gracias
Responder Con Cita
  #4  
Antiguo 18-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Las teclas de función no tienen Press, sólo tienen Up y Down. De hecho, sólo tienen Press las teclas de la "máquina de escribir", las demás has de controlarlas mediante uno de lo otros 2 eventos (Up y Down).

También decirte que, a partir dela versión 5 de Delphi (creo recordar), tienes el componente TActionList que puede facilitarte mucho esta tarea y organizarás algo más el código (en mi web tienes un "mini manual" de uso con un ejemplo).

Por otro lado, no te aconsejo que uses las teclas estándares de Windows (almenos las más conocidas) para cosas que no sean precisamente esas ya que esto confunde mucho a los usuarios

F1 = Ayuda
F2 = Edición
F3 = Búsqueda
......

Espero te sirva
Responder Con Cita
  #5  
Antiguo 19-05-2004
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Poder: 21
bbjb Va por buen camino
Cadetill eres un makina,

Por cierto, ¿te dedicas a la docencia? porque eres buenisimo en tus explicaciones
Responder Con Cita
  #6  
Antiguo 19-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por bbjb
Por cierto, ¿te dedicas a la docencia? ....
jejejeje, pues no, pero sí me he dedicado durante 1 año

Cita:
Empezado por bbjb
...porque eres buenisimo en tus explicaciones
bueno, eso va a gustos y, sólo cuando hay tiempo pa "explayarse" explicando

De todas maneras, gracias por los alagos

PD: pero que no se repita que al final me los creeré
Responder Con Cita
  #7  
Antiguo 21-05-2004
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Poder: 21
bbjb Va por buen camino
Cadetill, me ha surgido una pregunta después de leer el manual sobre ActionList que tiene en tu página web

Cita:
"También decirte que, a partir dela versión 5 de Delphi (creo recordar), tienes el componente TActionList que puede facilitarte mucho esta tarea y organizarás algo más el código (en mi web tienes un "mini manual" de uso con un ejemplo)."
Yo necesito centralizar la función que me detecte que tecla se ha pulsado para saber si esta ha sido una de función.
Esa misma tecla la recibiría la función como parametro.
Para ello tendría que pasar el valor Key (Word) del evento OnKeyUp de cada objeto. Aplicar esto con un ActionList me está liando un poco.

Si establezco en el ActionList la función que hace dicha comprobación y ligo esta acción a los controles deseados mediante la propiedad Action de los mismos, como paso el parametro Key para saber la tecla pulsada.

Uff!! menudo lio, quizás no me haya explicado muy bien. Si tienes alguna duda pregunta,pregunta por favor...
Responder Con Cita
  #8  
Antiguo 21-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por bbjb
Yo necesito centralizar la función que me detecte que tecla se ha pulsado para saber si esta ha sido una de función.
Para esto utiliza el evento Up o Down del formulario, no de los componentes, y pon la propiedad (del formulario) KeyPreview a true

Cita:
Empezado por bbjb
Aplicar esto con un ActionList me está liando un poco.
Un TActionList no está pensado para controlar multitud de teclas en una misma acción (aunque se puede hacer mediante las SecundaryShortCuts). Lo que pasa es que, si variará la acción dependiendo de la tecla pulsada... con éste método no sabrás que tecla se ha pulsado (para ellos tendrías que crear una acción para cada cosa a realizar)

Cita:
Empezado por bbjb
Si establezco en el ActionList la función que hace dicha comprobación y ligo esta acción a los controles deseados mediante la propiedad Action de los mismos, como paso el parametro Key para saber la tecla pulsada.
contestado arriba, no tienes manera de saberlo (creo). Soloción, una TAction por acción a realizar o bien controlar el evento Up o Down del Form como te he comentado

Espero te sirva
Responder Con Cita
  #9  
Antiguo 24-05-2004
Avatar de bbjb
bbjb bbjb is offline
Miembro
 
Registrado: jul 2003
Posts: 97
Poder: 21
bbjb Va por buen camino
Ok Cadetill, todo era tan fácil como poner la propiedad KeyPreview a True.

Muchas Gracias por todo.
Responder Con Cita
Respuesta



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 01:16:16.


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