MSTATE()
 Devuelve el estado actual del ratón
------------------------------------------------------------------------------
 Sintaxis

     MSTATE() --> aEstado | 0

 Devuelve

     Matriz devuelta por MSTATE()
     ------------------------------------------------------------------------
     Posición                 Descripción
     ------------------------------------------------------------------------
     LLM_STATE_X              Posición en el eje X.
     LLM_STATE_Y              Posición en el eje Y.
     LLM_STATE_ROW            Columna.
     LLM_STATE_COL            Fila.
     LLM_STATE_LEFT           Estado del botón izquierdo del ratón.
                              LLM_BUTTON_DOWN significa pulsado y
                              LLM_BUTTON_UP significa no pulsado.
     LLM_STATE_RIGHT          Estado del botón derecho del ratón.
                              LLM_BUTTON_DOWN significa pulsado y
                              LLM_BUTTON_UP significa no pulsado.
     LLM_STATE_VISIBLE        Estado de la visibilidad del puntero del
                              ratón. Verdadero (.T.) significa visible
                              y falso (.F.) significa invisible.
                              (Si desea más información, consulte
                              MSHOW() y MHIDE().)
     LLM_STATE_DRIVER         Indica la versión del controlador del ratón.
     LLM_STATE_SHAPE          Forma del cursor del ratón.
                              (Consulte la nota siguiente.)
     LLM_STATE_CLICKS_LEFT    Número de veces que se ha pulsado el
                              botón izquierdo desde la última llamada
                              a MSTATE().
     LLM_STATE_CLICKS_RIGHT   Número de veces que se ha pulsado el
                              botón derecho desde la última llamada
                              a MSTATE().
     ------------------------------------------------------------------------

     Nota: En esta posición de la matriz pueden especificarse los
     valores predefinidos siguientes: LLM_CURSOR_ARROW, LLM_CURSOR_SIZE_NS,
     LLM_CURSOR_SIZE_WE, LLM_CURSOR_SIZE_NW_SE, LLM_CURSOR_SIZE_NE_SW,
     LLM_CURSOR_HAND, LLM_CURSOR_FINGER, LLM_CURSOR_CROSS, LLM_CURSOR_WAIT.
     Si desea una descripción de estos valores, consulte la tabla
     Constantes para la forma del cursor en la función MSHOW().

     Si el ratón no existe devuelve 0.

     El número de veces que se ha pulsado un botón del ratón (es decir,
     aEstado[LLM_STATE_CLICKS_LEFT] y aEstado[LLM_STATE_CLICKS_RIGHT]) se
     reinicializa cada vez que se llama a MSTATE(). Utilice MSTATE() para
     reinicializar los parámetros del ratón cuando sea necesario.

 Descripción

     MSTATE() devuelve información del estado del ratón, es decir, la
     posición en pantalla del puntero, el estado de los botones izquierdo y
     derecho, la visibilidad del puntero del ratón y la versión del
     controlador.

 Notas

     Si la versión del controlador del ratón (es decir,
     aEstado[LLM_STATE_DRIVER]) es NULL (""), significa que el ratón no
     está conectado o no está configurado correctamente. Es muy recomendable
     incluir en el código una comprobación de la versión del controlador
     como la siguiente:

        IF MSTATE()[LLM_STATE_DRIVER]<=500
           // Considere que no hay ratón
        ELSE
           // Considere que hay presente un ratón
        ENDIF

     ¡Advertencia! Normalmente, los controladores de ratón antiguos no
     son muy fiables, ya que producen comportamientos extraños en la
     aplicación, tales como un puntero mal dibujado o fallos en el
     almacenamiento y posterior restauración del área de la pantalla que
     ocupa el puntero del ratón.

 Ejemplos

      Este ejemplo muestra cómo utilizar la función MSTATE():

        // Visualiza el puntero del ratón
        MSHOW()
        DO WHILE INKEY() != K_ESC
                        // Recupera el estado del ratón
           aEstado := MSTATE()
                        // Posición de línea
           @ 24,  0 SAY aEstado[LLM_STATE_ROW]
                        // Posición de columna
           @ 24, 10 SAY aEstado[LLM_STATE_COL]
                        // Estado del botón izquierdo
           @ 24, 20 SAY "Izquierdo " +
           IF(aEstado[LLM_STATE_LEFT]==LLM_BUTTON_DOWN,;
           "Pulsado"  ,;
           "No pulsado")
                        // Estado del botón derecho
           @ 24, 40 SAY "Derecho " + IF(aState[LLM_STATE_RIGHT] ==   ;
           LLM_BUTTON_DOWN ,;
           "Pulsado"  ,;
           "No pulsado")
        ENDDO
           // Oculta el puntero del ratón
        MHIDE()

 Ficheros   La biblioteca asociada es LLIBG.LIB,
            el fichero de cabecera asociado es Llibg.ch.

 To download this example - click here.

See Also: MHIDE() MSETCURSOR() MSHOW()