Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas al Cachar cuando se presion Shift+Flecha Arriba/Abajo (https://www.clubdelphi.com/foros/showthread.php?t=34461)

AGAG4 10-08-2006 03:21:42

Problemas al Cachar cuando se presion Shift+Flecha Arriba/Abajo
 
Tengo en el evento OnkeyDown el siguiente código que tome de Trucomania para saber cuando se presionan AL MISMO TIEMPO la tecla Shif + Flecha Arriba ó Abajo pero no me funciona:
Código Delphi [-]
  if (HiWord(GetKeyState(VK_SHIFT)) <> 0 ) and ((key = 38) or (key = 40)) then
 ....
// y también....
  if (Key = VK_SHIFT) and (ssShift in Shift) then
   ....

Alguna Sugerencia....:confused:

egostar 10-08-2006 03:30:45

Usa esto, haber que te parece.

Código Delphi [-]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; 
Shift: TShiftState);
begin
if (ssShift in Shift) and (Key = 38) then
ShowMessage('Shift + Flecha Arriba Presionado');
if (ssShift in Shift) and (Key = 40) then
ShowMessage('Shift + Flecha Abajo Presionado');
end;

Saludos.

AGAG4 10-08-2006 19:08:13

Oki
 
Que raro, no tengo que usar los ELSE para que me funcione :confused:
Tome el ejemplo que me pasastes pero le agregue el ELSE entre los If..then y no me funciono pero le quite los ELSE y Funciono que raro :D

Gracias....!!!!

egostar 10-08-2006 19:20:10

Si que está raro porque acabo de poner el ELSE en el código y si funciona,

Código Delphi [-]
 
  if (ssShift in Shift) and (Key = 38) then
     ShowMessage('Shift + Flecha Arriba Presionado')
  else
  if (ssShift in Shift) and (Key = 40) then
     ShowMessage('Shift + Flecha Abajo Presionado');

no use IF anidados porque no lo crei necesario, sin embargo lo importante es que te haya servido.

Saludos


La franja horaria es GMT +2. Ahora son las 05:52:46.

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