Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Controlar el teclado desde una aplicación delphi (https://www.clubdelphi.com/foros/showthread.php?t=61389)

richy08 05-11-2008 21:20:13

Controlar el teclado desde una aplicación delphi
 
Buenas tardes compañeros no se si esto sea posible les platico estoy intentando controlar las teclas de adelante, atras, abajo y arriba para avanzar la grafica en un tdbchart esto lo quiero hacer con los eventos de los componentes pero no logro capturar las pulsaciones de las teclas cualquier comentario gracias.

dec 05-11-2008 21:24:07

Hola,

Si no puedes usar los eventos "OnKeyDown", "OnKeyUp" del componente en cuestión... es posible que sí puedas usar los de algún contenedor, como pueda ser el propio formulario. ¿No? Por cierto, asegúrate de que la propiedad "KeyPreview" del formulario en cuestión tenga un valor "True". ;)

richy08 05-11-2008 21:42:21

gracias dec por responder utilizo este codigo para versi reacciona los eventos con las teclas pero no hace nada:confused:

Código Delphi [-]
procedure TFrm_GraRes.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key=char(37) then
  begin
     showmessage('37');
  end;

  if key=char(38) then
  begin
           showmessage('38');
  end;

  if key=char(39) then
  begin
          showmessage('39');
  end;

  if key=char(40) then
  begin
      showmessage('40');
  end;
end;

eduarcol 05-11-2008 21:50:08

seguro que la propiedad keypreview del formulario esta en true?

otra cosa no hace falta char(80) basta con #80

cascarrabias 05-11-2008 21:56:05

Prueba utilizando las teclas virtuales en el evento "OnkeyDown' como te menciona Dec;

If Key = VK_LEFT then showmessage('Flecha izquierda');;
If Key = VK_UP then showmessage('Flecha arriba');
If Key = VK_RIGHT then showmessage('Flecha derecha');
If Key = VK_DOWN then showmessage('Flecha abajo');

Salu2

richy08 05-11-2008 21:59:29

a buenisima cascarrabias y dec ahora si funciona abra un evento el cual reaccione un numero indefinido de veces mientras lo mantenga pulsado?

richy08 05-11-2008 22:16:32

:) ya lo probe y funciona perfecto teniendo apretado el boton, pero ahi algo que no me gusta que si me posiciono en un dblokupcombobox reacciona las flechas y se mueve tambien no abra forma de ponerle un filtro y que solo reaccion tdbchart mil gracias me ayudaron bastante

eduarcol 05-11-2008 22:48:03

Cita:

Empezado por richy08 (Mensaje 324399)
:) ya lo probe y funciona perfecto teniendo apretado el boton, pero ahi algo que no me gusta que si me posiciono en un dblokupcombobox reacciona las flechas y se mueve tambien no abra forma de ponerle un filtro y que solo reaccion tdbchart mil gracias me ayudaron bastante

pregunta quien es el control activo:

Código Delphi [-]
if activecontrol is TdbChart then
   //muevo las teclas

pero esto solo funciona si el tdbchart toma el foco...

richy08 05-11-2008 23:19:13

:) gracias eduarcol deja checo si funciona mil gracias a todos


La franja horaria es GMT +2. Ahora son las 13:08:47.

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