PDA

Ver la Versión Completa : Controlar el teclado desde una aplicación delphi


richy08
05-11-2008, 21:20:13
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:


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
:) 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:

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