Saltar al contenido principal
Versión: Siguiente

Clickcount

Clickcount -> Resultado

ParámetroTipoDescripción
ResultadoIntegerNúmero de clics consecutivos

Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.

Descripción

El comando Clickcount devuelve, en el contexto de un evento clic, el número de veces que el usuario ha hecho clic de manera repetida con el mismo botón del ratón. Normalmente, este comando devuelve 2 para un doble clic.

Este comando le permite detectar un doble clic en los encabezados o pies de list box e igualmente manejar las secuencias de triples clics o más.

Cada clic con un botón del ratón genera un evento clic separado. Por ejemplo, si un usuario hace doble clic, un evento es generado para el primer clic en el cual Clickcount devuelve 1; luego otro evento es generado por el segundo clic, en el cual Clickcount devuelve 2.

Este comando sólo debe ser utilizado en el contexto del evento formulario On Clicked, On Header Click u On Footer Click. Por tanto, es necesario verificar en modo Diseño que el evento correspondiente ha sido seleccionado correctamente en las propiedades del formulario y/o para el objeto específico.

Cuando ambos eventos formulario On Clicked y On Double Clicked están activados, la siguiente secuencia será devuelto por Clickcount:

  • 1 en el evento On Clicked
  • 2 en el evento On Double Clicked
  • 2+n en el evento On Clicked

Ejemplo 1

La estructura de código siguiente se puede colocar en un encabezado de listbox para manejar clics simples y dobles:

 Case of
    :(Form event code=On Header Click)
       Case of
          :(Clickcount=1)
             ... //acción clic sencillo
          :(Clickcount=2)
             ... //acción clic doble
       End case
 End case

Ejemplo 2

Las etiquetas no son editables pero lo son después de un triple-clic. Si desea permitir a los usuarios editar las etiquetas, puede escribir el método objeto siguiente:

 If(Form event code=On Clicked)
    Case of
       :(Clickcount=3)
          OBJECT SET ENTERABLE(*;"Label";True)
          EDIT ITEM(*;"Label")
    End case
 End if