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 04-09-2008
angelmsf angelmsf is offline
Registrado
 
Registrado: ago 2008
Posts: 3
Poder: 0
angelmsf Va por buen camino
Saber cuando una tecla sigue pulsada

Hola a todos,

Me gustaria saber si alguien de ustedes me puede ayudar en saber como hago para saber cuando una tecla x se mantiene pulsada. Pues necesito que el programa me vaya cambiando de botones en el encabezado cuando mantengo alguna tecla x pulsada y cuando le suelto y no la presino constantemente pues me navegue en otros botones.

aguien me da una idea?
Responder Con Cita
  #2  
Antiguo 04-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola angelmsf, en tu formulario necesitas que la propiedad KeyPreview este en True, ahora digamos que tenemos 2 botones y si presionamos las teclas de fecha izquierda (<-) y flecha derecha (->) se mueva entre nuestros botones.

Código Delphi [-]
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 Case key of
  vk_left : Button1.SetFocus;
  vk_Right: Button2.SetFocus;
 end;
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 04-09-2008
angelmsf angelmsf is offline
Registrado
 
Registrado: ago 2008
Posts: 3
Poder: 0
angelmsf Va por buen camino
El asunto es saber cuando una tecla se ha dejado presionada por unos cuantos segundo.

Que tal [Caro],

El asunto no es tan sencillo, pues lo que quiero es saber cuando una tecla la dejas pulsada por unos cuantos segundos que el programa te mueva el foco a otro item, no es solo presionarla y ya.

es saber cuando una tecla se ha dejado presionada por unos cuantos segundo.

me entiendes ahora?
Responder Con Cita
  #4  
Antiguo 22-04-2010
Avatar de adeszeus
adeszeus adeszeus is offline
Miembro
 
Registrado: abr 2010
Ubicación: San Mateo, Mexico (aun lado de Santa Maria y pasando el campo de futbol)
Posts: 47
Poder: 0
adeszeus Va por buen camino
Espero sea util

Espero te funcione:
bueno espero y este codigo te funcione
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Timer1: TTimer;
    procedure FormKeyDwn(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  tiempo:integer;
implementation

{$R *.dfm}

procedure TForm1.FormKeyDwn(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
timer1.Enabled:=true;// activamos el reloj
if key=vk_left then
  if tiempo>5 then
  begin
  showmessage('La tecla duro mas de 5 segundos oprimida');
  button1.SetFocus;
  tiempo:=0;
  timer1.Enabled:=false;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
tiempo:=0; //inicializamos la variable para contabilizar el tiempo
// el reloj tiene un intervalo de 1000 milisegundos
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
tiempo:=tiempo+1;// acumulamos el valor de tiempo
// donde desde que se creo vale 0

end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
tiempo:=0;
timer1.Enabled:=false;
// en caso de levantar la tecla pues la cuenta de reinicia y debemos de tener
// en cuenta que debemos detener el reloj
end;

end.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
saber que tecla se presiona despues de X tecla amadis OOP 9 04-01-2008 13:16:35
Saber si una tecla esta pulsada? fefe13 Varios 9 02-02-2006 18:06:56
LO de la tecla pulsada fefe13 Varios 1 01-02-2006 18:29:19
Saber cuando se pulsa la tecla Enter D@byt Varios 2 25-05-2005 17:21:52
Codigo de la tecla F3 Como cuando se trabaja un enter en vez de un TAB jmedina Varios 4 08-07-2004 16:05:21


La franja horaria es GMT +2. Ahora son las 06:11:00.


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