FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Capturar combinaciones de teclas tipo CTRL + A
Hola A Todos!
Muchas gracias de antemano! He estado leyendo mensajes por los foros para ver si encuentro la solución a mi problema, pero debo ser un poco cortita porque no me he enterado aun.... Pido perdón si la solución ya estaba escrita y no he sabido verla.... Bueno, os cuento... Tengo que capturar combinaciones de teclas tipo CTRL+M, CTRL+N, etc... Tengo definido el siguiente código: procedure TfrmMIEMess.FormActivate(Sender: TObject); begin SaveMessageHandler := Application.OnMessage; Application.OnMessage := MyMessageHandler; end; donde MyMessageHandler es el método que voy a utilizar para capturar las teclas, y de hecho ya las estoy capturando, pero.... Solo puedo hacerlo de una en una.... no se si me explico... Mi metodo esta definido de la siguiente manera: procedure TfrmMIEMess.MyMessageHandler(var Msg: TMsg; var Handled: Boolean); Donde Msg.message me dice si se ha producido un WM_KEYDOWN o WM_KEYUP y Msg.wParam me indica la tecla que se ha pulsado, pero.... ¿que puedo hacer en este caso que se estan pulsando dos teclas? ¿Estoy utilizando un metodo equivocado? ¿Se puede hacer algo con este que ya tengo definido? Hace unos dias ya escribi pidiendo ayuda con un tema de menús y como dije en ese momento, esta aplicación me ha caido ahora, ha ido pasando de mano en mano y el codigo es totalmente chapucero con lo que no entiendo la mitad de las cosas. (aparte que mis conocimientos de Delphi no es que sean muy extensos) Os agradeceria enormemente cualquier ayuda que pudierais ofrecerme. ¡y disculpad por el pedazo de mensaje que estoy escribiendo! Muchas gracias! almudena.. |
#2
|
||||
|
||||
En el evento WM_KEYDOWN o WM_KEYUP, puedes comprobar las teclas que están pulsada. Por ejemplo:
Así si queremos detectar, por ejemplo, que se ha pulsado Ctrl+E en el evento WM_KEYDOWN comprobamos que la tecla es la 'E' y entonces utilizando GetKeyState comprobamos que la tecla Ctrl esta también pulsada. |
#3
|
|||
|
|||
Capturar combinaciones de teclas tipo CTRL + A
Muchas gracias!
Lo probare y te cuento.... |
#4
|
||||
|
||||
¿Qué versión de delphi usas?
Mira si tienes un TActionList en la paleta de componentes (en las 3 primeras pestañas debe estar), puedes indicar a cada TAction una combinación de teclas y lo que debe ejecutar cuando se pulse cada una de ellas. Así te olvidas de esa gestión de teclas. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
||||
|
||||
Y aún si no cuenta con esa componente, podría repensar si no hay una forma más directa. Es decir, por ejemplo un MenuItem tiene su propiedad ShortCut que permite establecer la combinación de teclas.
// Saludos |
#6
|
|||
|
|||
Capturar combinaciones de teclas tipo CTRL + A
Cita:
Muchas gracias a todos por las contestaciones! y siento haber tardado tanto en contestar pero entre el finde y demas cosas que he tenido que hacer esta mañana pues eso.... El tema es que precisamente tengo un menu y las teclas que quiero capturar son shortcuts de este menu, lo que pasa es que tengo otras funciones entre medias que estan capturando todas las teclas y entonces "inutilizan" mi menu... Es un follon un poco extraño... Y no se si me he explicado.... Voy a probar con el TActionList y os cuento, aunque no sera rapido porque ahora me han dicho que deje lo de delphi para hacer otra cosa.... En fin, muchisimas gracias a todos!! pd: leo las consultas del foro para ver si puedo ayudar a alguien pero soy muy nueva en delphi y no se hacer nada, jooooo.... pd2: alguien pregunto que version de delphi utilizo pues es la 7... besitos! almudena.. |
#7
|
||||
|
||||
Mil gracias después de 10 años
Amigos: mil gracias después de 10 años!!! resulta que encontré aquí la solución a uno de mis problemas. Gracias.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Bloquear Combinaciones de Teclas. | D-MO | Varios | 6 | 24-11-2006 04:25:10 |
Enviar combinaciones de teclas | LordVermiis | API de Windows | 4 | 08-06-2006 18:57:43 |
Problemas al capturar teclas | Dexter182 | Varios | 2 | 09-10-2005 23:36:12 |
Quitar Combinaciones De Teclas | gulder | API de Windows | 4 | 21-04-2005 16:02:34 |
Capturar teclas en edit | sur-se | OOP | 10 | 16-07-2004 14:25:17 |
|