Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 01-09-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No, no me hace lo mismo.

Creo que lo mas sencillo es replantear todo el sistema de diferenciación entre click y dobleclick.

Siguiendo la filosofía de la macro, cambia el archivo DblClK.h por este:
Código:
//----------------------------------------------------------------
#ifndef DblclkH
#define DblclkH
#include "time.h"
//----------------------------------------------------------------
#define DBLCLICK_DETECT()                        \
   static clock_t start = clock();               \
   clock_t  dif = clock()-start;                 \
   if(dif < GetDoubleClickTime() && dif > 1){    \
      start = clock();                           \
      return;                                    \
   }                                             \

//----------------------------------------------------------------
#endif
//----------------------------------------------------------------
Ahora el código del evento OnClick será:
Código:
void __fastcall TTexClick::Label1Click(TObject *Sender)
{
    //Diferenciamos un click de un doble click incluyendo el archivo de cabecera "DblClK.h"
    DBLCLICK_DETECT();
    
    // Ahora el código del evento, siempre detrás...
    Label2->Caption = "UN SOLO CLICK";
}
Y en OnDblClick:
Código:
void __fastcall TTexClick::Label1DblClick(TObject *Sender)
{
     Label2->Caption = "DOBLE CLICK";
}
Lo que hace es contabilizar el tiempo que pasa entre dos clicks, si es menor que el del dobleclick del sistema lo considera doble click y abandona el evento OnClick.

Saudos

Última edición por escafandra fecha: 01-09-2011 a las 18:02:26.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Distinguir el objeto sender en un evento vejerf Varios 5 12-02-2007 14:20:15
Distinguir variables de constantes Delphius Varios 8 24-01-2007 04:50:56
Sobre el evento Dobleclick en el TLisView quake2420 Varios 2 05-08-2005 17:50:09
Como distinguir el elemento que estoy arrastrando Javi2 Varios 2 02-03-2005 09:33:55
Capturar evento Dobleclick ivanmm OOP 5 18-01-2004 23:41:00


La franja horaria es GMT +2. Ahora son las 04:18:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi