Ejemplo De Uso De Eventos Y Propieades Del Raton


Objetivo: Ejemplo De Uso De Eventos Y Propieades Del Raton
Os dejo un video tutorial donde explico distintos eventos y propiedades del raton.



Link


En mi blog podeis descargaros el código completo: http://jsbsan.blogspot.com.es/2014/...ton-pulsar.html

Objetivo: Re: Ejemplo De Uso De Eventos Y Propieades Del Raton
Muy chulo, pero... ¿¿¿Federico Trillo???


Perfil MP  
Objetivo: Re: Ejemplo De Uso De Eventos Y Propieades Del Raton
Julio, recuerda usar un grupo para los cursores.



Link


Al principio no caía quien era el tal Federico.

Saludos

última edición por Shell el Miercoles, 12 Noviembre 2014, 21:46; editado 2 veces
Objetivo: Re: Ejemplo De Uso De Eventos Y Propieades Del Raton
Citar:
¿¿¿Federico Trillo???

Es una amigo que me deja usar su canal para subir los videos.

En mi canal ya no me dejan poner publicidad

Objetivo: Re: Ejemplo De Uso De Eventos Y Propieades Del Raton
Julio:

Siempre podrás crearte un usuario nuevo, ¿ no ?. Supongo que todos los que quieras.

Saludos

Objetivo: Re: Ejemplo De Uso De Eventos Y Propieades Del Raton
Hola!.

Repasando los eventos del ratón ya que los estoy aplicando a un ejemplo.

Mouse.Button es obsoleto ?

Me pareció extraño que Julio no llegará a usar un Select Case para Mouse.Button y usase directamente Mouse.Left, Mouse.Right.
Lo cierto es que Mouse.Button es Integer y las constantes son Booleans.Parece que en la ayuda de gambas recomienda usar
las constantes booleanas.

Algo que si se puede modificar es esto del ejemplo:

Public Sub PictureBox1_MouseDown()

LabelRatonInfo.text = "Boton apretado"

If Mouse.Middle Then
LabelRatonInfo.text = "Boton apretado, central"
Endif
If Mouse.Right Then
LabelRatonInfo.text = "Boton apretado, derecho"
Endif

If Mouse.Left Then
LabelRatonInfo.text = "Boton apretado, izquierdo"
Endif
End


Por

Public Sub PictureBox1_MouseDown()

Dim queboton As String

If Mouse.Middle Then
queboton = "central"
Print "central pulsado"
Endif
If Mouse.Right Then
queboton = "derecho"
Endif

If Mouse.Left Then
queboton = "izquierdo"
Endif

LabelRatonInfo.Text = "Botón apretado, " & queboton

End


Algo más.

Parece que el código original no tenía activa la propiedad tracking a True del PictureBox.

Y algo que me gustaría comentar que no me di cuenta hasta ahora. Que no me funciona el botón del centro como lo hace el izquierdo y el derecho,
como rueda si, pero como interruptor no. Uso Linux Mint. Nunca me fije en esto. ¿ Es cosa de Mate ?.

Ah, use Print en el centro para depurar el funcionamiento por la consola...ninguna respuesta.

Saludos

última edición por Shell el Lunes, 08 Junio 2020, 23:22; editado 1 vez
Objetivo: Re: Ejemplo De Uso De Eventos Y Propieades Del Raton
Sobre los detalles del ratón:

sudo lsusb -v


Citar:

Bus 001 Device 002: ID 046d:c040 Logitech, Inc. Corded Tilt-Wheel Mouse
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x046d Logitech, Inc.
idProduct 0xc040 Corded Tilt-Wheel Mouse
bcdDevice 24.30
iManufacturer 1 Logitech
iProduct 2 USB-PS/2 Optical Mouse
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 98mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 59
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0005 1x 5 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)


Al menos dice tres botones..

Saludos

Objetivo: Re: Ejemplo De Uso De Eventos Y Propieades Del Raton
gracias julio por el ejemplo, aprendí que mouse.delta sirve para detectar el sentido que gira la rueda.

es que nunca he tenido hasta ahora de usar esa función.

Objetivo: Re: Ejemplo De Uso De Eventos Y Propieades Del Raton
Hola!.

Ahora mismo estoy en el equipo secundario y con este ratón va sin ningún problema. Es otro Logitech pero un modelo un poco mas antiguo.
Ayer comprobé que el ratón que no se reconoce, no funcionaba con el ejemplo, pero si podía hacer click en el botón de maximizar con el central...y funcionba...
no de la manera que hace el izquierdo, ( cuestión del tema ).

Con el problema de ayer con el mouse. He aprendido hasta crear este script en bash.

#!/bin/bash

# Comprobar si existe el comando en el sistema
# Vamos a comprobar y a usar el comando libinput para mostrar información del ratón

if [ -a "/usr/bin/libinput" ]; then
echo "El comando libinput existe en su sistema."
echo "El comando necesita permiso de super usuario para ejecución"
while IFS= read -r line
do
# Se comprueba si la línea de texto leída contiene la palabra Mouse
if [[ "$line" == *"Mouse"* ]]; then
echo "$line"
while IFS= read -r line2
do
# Se comprueba que la línea de texto leída no es nula y tiene una longitud superior a cero
if [ -n "$line2" ]; then
echo "$line2"
else
# Esto parece que rompe los dos bucles
break
fi
done
fi
done < <(sudo libinput list-devices)
else
echo "El comando libinput no existe en su sistema."
echo "Ejecute primero: sudo apt-get install libinput-tools"
fi


Así que aprendí el uso de los bucles, las condicionales, como pasar la salida de un comando....etc,etc.

Hasta mejorar el código de julio sobre los eventos del ratón.

Private botonusado As String

Public Sub Form_Open()

Me.Center

'Para mostrar las coordennadas sobre el PictureBox

PictureBox1.Tracking = True

End

Public Sub PictureBox1_MouseMove()

LabelCoord.text = "X: " & Str$(mouse.x) & " Y: " & Str$(Mouse.y)

End

Public Sub PictureBox1_MouseWheel()

Dim haciadonde As String

If Mouse.Delta > 0 Then
haciadonde = "adelante"
Else
haciadonde = "atrás"
Endif

LabelRueda.Text = "Rueda del ratón, moviendola hacia " & haciadonde

End

Public Sub PictureBox1_Leave()

LabelCoord.text = "X: Y:"
LabelRueda.text = ""
LabelRatonInfo.text = ""
Me.mouse = Mouse.Default

End

Public Sub PictureBox1_MouseDown()

botonusado = Evento_MouseDown()

End

Public Function Evento_MouseDown() As String

Dim queboton As String

If Mouse.Middle Then
queboton = "central"
Print "central pulsado"
Endif
If Mouse.Right Then
queboton = "derecho"
Endif

If Mouse.Left Then
queboton = "izquierdo"
Endif

LabelRatonInfo.Text = "Botón apretado, " & queboton

Return queboton

End

Public Sub PictureBox1_MouseUp()

LabelRatonInfo.text = "Bóton soltado " & botonusado

End

Public Sub Cursores_Click()

Me.Cursor = New Cursor(Last.Picture)
Me.Mouse = Mouse.Custom

End


En el código original se repiten frases y líneas. Algo también que ocurre es que si tenemos el evento Mouse_Down() sabemos que botón
se ha pulsado, pero no se sabe que botón se dejo de pulsar al hacer Mouse_Up().

Estos eventos no tienen argumentos. Cree una variable global que almacena que botón se ha pulsado y al crear el evento Mouse_Down()
que llame a una función que la devuelva.

En fin.

Eso es todo por hoy con los eventos del ratón...

¿ Y si se ha jodido la rueda del otro ratón.. ?. No descarto suciedad.
Pero desde luego no me gusta ese botón en ese ratón...es algo espartano.
En este es más cómodo...mmmm...


Nota. Si los ratones pudieran abollarse por los golpes que podamos darles, seriamos denunciados por malos tratos!.

Saludos


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1565s (PHP: 6% SQL: 94%)
Consultas SQL: 30 - Debug off - GZIP Activado