FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Identificar el Alt+R
Ando buscando y no doy como identificar el Alt+R, para llamar alguna instrucción despues de presionar al mismo tiempo estas dos teclas, ya probe con esto y no me fucionó, solo hace referencia al ALT ya le busque como añadirle la letra "R", pero no me funciono.
if HiWord(GetKeyState(VK_MENU)) <> 0 then ShowMessage('Shift Pulsado/Shift pressed'); |
#2
|
||||
|
||||
Hay dos maneras dependiendo de lo que desees hacer.
Si deseas que la acción se ejecute cuando oprimes Alt-R en algún control en específico, por ejemplo un TEdit, puedes detectar la combinación en el evento OnKeyDown del control:
Si quieres que la acción se ejecute como algo general sin importar en qué control estás situado te conviene usar un TActionList (de la paleta "Standard"). Le agregas una acción, asignas la combinación a su propiedad ShortCut y en el evento OnExecute de la acción colocas el código a ejecutar. // Saludos |
#3
|
||||
|
||||
Oki
Muchas Gracias Sr. Roman, que tenga un buen día.
|
#4
|
||||
|
||||
Lo de Roman esta bien pero aporto algo...
Combinaciones de teclas en el evento keypress donde reemplasas el 2 por algunas de la detalladas 108 l, 61 alt shif r, 62, 63 shif + ?, 13 enter, 27 esc, 35 shif + 3, 1 Ctrl + a, 2 ctrl + b, 3 ctrl + c, 4 ctrl + d 5 ctrl + e, 6 ctrl + f, 7 ctrl + g, 8 ctrl + h 9 ctrl + i, 10 ctrl + j, 11 ctrl +k, 12 ctrl + l 13 enter, 14 ctrl + n, 15 ctrl + o, 16 ctrl + p 17 ctrl + q, 18 ctrl + r, 19 ctrl + s, 20 ctrl + t 21 ctrl + u, 22 ctrl + v, 23 ctrl + w, 24 ctrl + x, 25 ctrl + y, 26 ctrl + z, 27 esc, 28 ctrl + ?, 29 ctrl + ], 30 ctrl + shif + 6, 31 crtl + -, 32 space, 33 shif + 1, 34 shif + 2, 35 shif + 3, 36 shif + 4, 37 shif + 5, 38 shif + 6, 39 ?, 40 shif + 8, 41 shif + 9, 42 shif + *, 43 shif + +, 44 coma, 45 guion -, 46 punto, 47 division, 48 0, 49 1, 50 2, 51 2, 52 4, 53 5, 54 6, 55 7, 56 8, 57 9, 60 y me canse de probar No esta muy claro pero.... alli está Saludos
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.
|
#5
|
||||
|
||||
oki
Muchas Gracias Sr. Pablo Carlos, lo tomare en cuenta... Que tenga buen día.
|
#6
|
|||
|
|||
Hola soy nuevo en esto estoy haciendo una aplicacion
pero quiero q se efectue una accion cuando presiono una combinacion de letras como ejemplo alt + R o control +R con ese ejemplo lo tome pero no me funciona que me falta agregarle? intennte con : procedure TForm1.Edit1Change(Sender: TObject); var Key: Word; Shift: TShiftState;R:char; begin if (Key = Ord('R')) and (ssAlt in Shift) then edit1.Text:='3'; end; end. ayudnme porfavor , gracias. Última edición por jackevil99 fecha: 16-04-2010 a las 20:46:48. |
#7
|
||||
|
||||
Es que en el OnChange la cosa no anda, jackevil99.
La cosa funciona en el OnKeyDown, donde la variable Shift y Key ya vienen como parámetro. Y, para agregar otra cosa más que hay que tener en cuenta (no te me enojes Román): A Román se le escapó una cosa, con su código también vamos a enganchar la pulsación de Ctrl-Alt-R, Shift-Alt-R y Ctrl-Shift-Alt-R. Así que hay que tener cuidado... Si se quiere detectar sólo la pulsación de Alt, y ninguna otra, la cosa sería así:
Saludos. |
#8
|
|||
|
|||
Hola ,gracias por responder la verdad no pense q responderian xD q buenos son ,pero sabes me habia creado una aplicacion para gunbound y le puse como 1er plano o siempre visible como le llaman y me anda normal dentro del gunbound pero el detalle q se me minimiza el juego cuando le hago click ala aplicacion y ahora q le coloco el onkeydown pense q con teclas no tendria la necesidad de hacerle click pero me di con la sorpresa q necesita estar seleccionada la aplicacion para q me de resultado Y_Y
use if (Key = Ord('R')) and ([ssAlt] = Shift) then HazAlgo; y me corre bien thx pero se podria hacer digamos alt + R + 1 entoncs HazAlgo; ? ayudenme porfavor,gracias de ante mano,saludos. Última edición por jackevil99 fecha: 17-04-2010 a las 05:14:58. |
|
|
|