Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Post 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');
Responder Con Cita
  #2  
Antiguo 07-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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:

Código Delphi [-]
if (Key = Ord('R')) and (ssAlt in Shift) then
  HazAlgo;

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
Responder Con Cita
  #3  
Antiguo 07-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Thumbs up Oki

Muchas Gracias Sr. Roman, que tenga un buen día.
Responder Con Cita
  #4  
Antiguo 07-09-2004
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Lo de Roman esta bien pero aporto algo...

Combinaciones de teclas
en el evento keypress
Código Delphi [-]
procedure TfrmCobranzaAsistente.DBGrid2KeyPress(Sender: TObject;
  var Key: Char);
var l_DatosPersonales_id : Longint;
begin
 if (Key = #2) then
 begin
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.
Responder Con Cita
  #5  
Antiguo 07-09-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Thumbs up oki

Muchas Gracias Sr. Pablo Carlos, lo tomare en cuenta... Que tenga buen día.
Responder Con Cita
  #6  
Antiguo 16-04-2010
jackevil99 jackevil99 is offline
Registrado
 
Registrado: abr 2010
Posts: 3
Poder: 0
jackevil99 Va por buen camino
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.
Responder Con Cita
  #7  
Antiguo 17-04-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
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í:

Código Delphi [-]
if (Key = Ord('R')) and ([ssAlt] = Shift) then
  HazAlgo;

Saludos.
Responder Con Cita
  #8  
Antiguo 17-04-2010
jackevil99 jackevil99 is offline
Registrado
 
Registrado: abr 2010
Posts: 3
Poder: 0
jackevil99 Va por buen camino
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.
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 15:09:56.


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