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 08-08-2007
eldiegofg eldiegofg is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colón - Entre Ríos
Posts: 54
Poder: 18
eldiegofg Va por buen camino
Consulta

Tengo un componente al que quiero asignarle un procedimiento a su evento OnClick y otro procedimiento diferente al evento OnDobleClick. Mi problema es que cuando hago doble clic, me ejecuta primero la rutina de OnClick y luego la de OnDobleClick. Hay alguna forma de evitar o controlar esto?
Agradezco su tiempo y dedicacion de antemano y felicito por este fabuloso foro. Saludos
Responder Con Cita
  #2  
Antiguo 08-08-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me parece dificil, cuando haces click, pues eso, ya lo hiciste, ejecutara el evento, yo te aconsejaria que cambiaras el evento ondobleclick por otro.
Saludos
Responder Con Cita
  #3  
Antiguo 08-08-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Hola eldiegofg
De lo mas asequible que he visto por ahí, me quedo con esto.
Código Delphi [-]
procedure TForm1.TuComponenteClick(Sender: TObject);
var
  Msg: TMsg;
  TargetTime: Longint;
begin
  TargetTime := GetTickCount + GetDoubleClickTime;

  while GetTickCount < TargetTime do
    if PeekMessage(Msg, TuComponente.Handle, WM_LBUTTONDBLCLK, WM_LBUTTONDBLCLK, PM_NOREMOVE)
      then Exit;
  .... codigo......
end;


procedure TForm1.TuComponenteDblClick(Sender: TObject);
begin
ShowMessage('DOBLE click');
end;

Espero que te sirva.

Saludos
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #4  
Antiguo 08-08-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Lo probaste ArdiIIa? pues a mi no me funciona... analizando un poco tiene entremezclado los conceptos de Caral, el Güindos envía un mensaje a la aplicacion de la "caida" de un boton (WM_?BUTTONDOWN), la VCL traduce mensaje como OnClick, cuando se hace doble click y la ventana creada con el estilo que acepta tal cosa (CS_DBLCLKS), recive el mensaje del doble click (WM_?BUTTONDBLCLK)... sin embargo el problema no es de la VCL del hermoso Delphi, si no del manejo de los mensajes del Güindos... talvez no es falla si no es algo real pues como dijo el amigo Caral "...cuando haces click, pues eso, ya lo hiciste..."

Veamos...
Responder Con Cita
  #5  
Antiguo 08-08-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cita:
Empezado por cHackAll Ver Mensaje
Lo probaste ArdiIIa? pues a mi no me funciona... analizando un poco tiene entremezclado los conceptos de Caral, el Güindos envía un mensaje a la aplicacion de la "caida" de un boton (WM_?BUTTONDOWN), la VCL traduce mensaje como OnClick, cuando se hace doble click y la ventana creada con el estilo que acepta tal cosa (CS_DBLCLKS), recive el mensaje del doble click (WM_?BUTTONDBLCLK)... sin embargo el problema no es de la VCL del hermoso Delphi, si no del manejo de los mensajes del Güindos... talvez no es falla si no es algo real pues como dijo el amigo Caral "...cuando haces click, pues eso, ya lo hiciste..."

Veamos...


Que quieres que te diga cHackAll.
Si no lo hubiera probado, no lo hubiera puesto, y si no funcionara, tampoco.

Esta cuestión no es la primera que que se plantea, sino que ya es muy antigua.
Como puedes ver puse "de lo mas asequible", que no la mas convincente...

No se de que tipo de componente estamos hablando y que requerimientos tiene eldiegofg.

Quizas, lo mas conveniente sería hacer una derivación del componente y controlar todos los mensajes que recibe a su WndProc, y ahí si se podría discernir si ha sido un Click o un DblClick....

¿Merece la pena ....?

Saludos
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #6  
Antiguo 09-08-2007
eldiegofg eldiegofg is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colón - Entre Ríos
Posts: 54
Poder: 18
eldiegofg Va por buen camino
Muchas gracias a todos por su tiempo y ayuda. Voy a probar lo propuesto por ArdiIIa a ver si me funciona y les cuento. El componente es un calendario sobre el cual estoy haciendo un sistema de reservas. Con el doble click doy de alta una nueva reserva, mientras que el click simple en una fecha lo utilizaba para mostrar (usando el Hint) informacion sobre la reservas de dicha fecha. Tal vez deberia hacer que el Hint se muestre al pasar el puntero del mouse sobre cada dia, pero soy nuevo en esto y sinceramente no se como hacer... Que dicen ustedes?
Responder Con Cita
  #7  
Antiguo 09-08-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por ArdiIIa
...Quizas, lo mas conveniente sería hacer una derivación del componente y controlar todos los mensajes que recibe a su WndProc, y ahí si se podría discernir si ha sido un Click o un DblClick....
Estimado compañero, el comentario fue de las mejores intenciones no era para que respondas de esa forma y casi que ni estaba orientado a "alguien". Me parece un tema curioso por eso yo participo. Lo que comentabas del WndProc tampoco funcionará por la explicacion que di con anterioridad.

Cita:
Empezado por ArdiIIa
... ¿Merece la pena ....? ...
Yo creo que si.

Saludos y haber que hacemos...
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
Consulta dentro de otra consulta judit25 Conexión con bases de datos 1 25-06-2007 15:52:15
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 20:25:02.


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