Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Detectar OnMousedown en un form (https://www.clubdelphi.com/foros/showthread.php?t=18130)

Jan_polero 02-02-2005 17:13:34

Detectar OnMousedown en un form
 
Hola. Resulta que tengo un timer que hace que se cierre el formulario pasado un tiempo si no se pulsa nada. El formulario está lleno de paneles y otros componentes con el evento onclick y onmousedown. Supongo que debe de haber una manera más simple que reiniciar el timer en cada uno de los eventos OnClick/OnMouseDown de todos loscomponentes del form. lo que necesitaría es detectar la pulsación de cualquier botón del ratón para "centralizar" el proceso a nivel de formulario o aplicación. Gracias de antemano.

Jan_polero 02-02-2005 17:22:22

Olvidaba un detalle muy importante.Es un frame quien contiene todos los demás componentes.Y este frame es el que está dentro del form.

Neftali [Germán.Estévez] 03-02-2005 14:41:05

Cita:

Empezado por Jan_polero
Hola. Resulta que tengo un timer que hace que se cierre el formulario pasado un tiempo si no se pulsa nada. El formulario está lleno de paneles y otros componentes con el evento onclick y onmousedown. Supongo que debe de haber una manera más simple que reiniciar el timer en cada uno de los eventos OnClick/OnMouseDown de todos loscomponentes del form. lo que necesitaría es detectar la pulsación de cualquier botón del ratón para "centralizar" el proceso a nivel de formulario o aplicación.

Supongo que se podría "ligar" por código utilizando RTTI, el evento OnMouseDown (por ejemplo) a una rutina que tú definas para reiniciar el Timer. Eso evitaría que tuvieras que programar "a mano" todos los eventos.

Funcionaría, pero no me acaba de convencer el sistema; Además si visualmente se utiliza el evento mencionado, se sobreescribiría el valor asignado y dejaría de funcionar.

A ver si a alguien más se le ocurre otra cosa, sino podemos intentar extender ésta opción.

roman 03-02-2005 16:05:15

Cita:

Empezado por Jan_polero
lo que necesitaría es detectar la pulsación de cualquier botón del ratón para "centralizar" el proceso a nivel de formulario o aplicación.

Pon una componente ApplicationEvents y en su evento OnMessage:

Código Delphi [-]
if (Msg.message >= WM_MOUSEFIRST) and (Msg.message <= WM_MOUSELAST) then
begin
  {
    Reinicias la cuenta
  }
end;

Por otra parte pienso que deberías preocuparte también por eventos del teclado, no siempre usamos el ratón para manipular el formulario.

// Saludos

Jan_polero 07-02-2005 12:39:02

Gracias por vuestra ayuda. Lo de capturar tb las pulsaciones de taclado ya lo hacía, ya que me sirve en OnkeyDown del form,lo que me faltaba era controlar las pulsaciones de ratón.Un saludo.


La franja horaria es GMT +2. Ahora son las 02:14:41.

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