Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-02-2005
Jan_polero Jan_polero is offline
Miembro
 
Registrado: may 2004
Posts: 62
Poder: 20
Jan_polero Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 02-02-2005
Jan_polero Jan_polero is offline
Miembro
 
Registrado: may 2004
Posts: 62
Poder: 20
Jan_polero Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 03-02-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 03-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #5  
Antiguo 07-02-2005
Jan_polero Jan_polero is offline
Miembro
 
Registrado: may 2004
Posts: 62
Poder: 20
Jan_polero Va por buen camino
Thumbs up

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


La franja horaria es GMT +2. Ahora son las 00:12:59.


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