Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Detectar Click o doble click en cualquier objeto

Estas en el tema de Detectar Click o doble click en cualquier objeto en el foro de Visual Basic clásico en Foros del Web. Hola a todos! Necesito ayuda. Alguien puede decirme como puedo hacer lo siguiente: Me gustaria darle un click con el boton del medio (o rueda) ...
  #1 (permalink)  
Antiguo 07/03/2009, 15:20
 
Fecha de Ingreso: marzo-2004
Mensajes: 26
Antigüedad: 20 años, 1 mes
Puntos: 0
Detectar Click o doble click en cualquier objeto

Hola a todos!
Necesito ayuda.
Alguien puede decirme como puedo hacer lo siguiente:

Me gustaria darle un click con el boton del medio (o rueda) en cualquier objeto de cualquier form de un proyecto y que me saliera un mensaje dicendome como se llama el objeto, tipo de objeto que es, form al que pertenece..etc.. o sea poder saber sus propiedades.


No sé si me he explicado bien.
muchas gracias por todo.

Nota.- Claro está que no qjuiero poner una funcion por cada objeto que existe en los forms, sería una funcion comun para todos los objetos.
Responder Con Cita
  #2 (permalink)  
Antiguo 07/03/2009, 16:01
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
Mensaje Respuesta: Detectar Click o doble click en cualquier objeto

Cita:
Iniciado por eldelpuerto Ver Mensaje
Me gustaria darle un click con el boton del medio (o rueda) en cualquier objeto de cualquier form de un proyecto y que me saliera un mensaje dicendome como se llama el objeto, tipo de objeto que es, form al que pertenece..etc.. o sea poder saber sus propiedades.
Saludos, creo que esto te puede ayudar un poco.

Código vb:
Ver original
  1. Public Sub ShowInfo(ByRef objThis As Object)
  2.     MsgBox "Nombre del control:" & vbTab & vbTab & objThis.Name & vbCrLf & _
  3.            "Tipo de objeto:" & vbTab & vbTab & TypeName(objThis) & vbCrLf & _
  4.            "Contenedor del objeto:" & vbTab & objThis.Parent.Name, _
  5.            vbInformation, "Info"
  6. End Sub
  7.  
  8. Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  9.     If Button = vbMiddleButton Then
  10.         ShowInfo Command1
  11.     End If
  12. End Sub
  13.  
  14. Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  15.     If Button = vbMiddleButton Then
  16.         ShowInfo Label1
  17.     End If
  18. End Sub

Como podras ver, necesitas invocar el procedimiento en el evento MouseDown de todos los controles los cuales desees mostrar su informacion respectiva.

Espero que te sea de utilidad
  #3 (permalink)  
Antiguo 08/03/2009, 19:15
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Detectar Click o doble click en cualquier objeto

Hola, yo no respondi porque no dice en que visual basic trabajas...en teoria este es el foro de visual basic 6...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #4 (permalink)  
Antiguo 08/03/2009, 20:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Detectar Click o doble click en cualquier objeto

Cita:
Iniciado por eldelpuerto Ver Mensaje
Nota.- Claro está que no qjuiero poner una funcion por cada objeto que existe en los forms, sería una funcion comun para todos los objetos.
Responder Con Cita


De acuerdo con lo que has solicitado, la funcion que te he mostrado es una funcion comun para todos los objetos, ya que si pones de parametro un scrollbar o un listview, te mostrara la informacion de ese control, simplemente necesitas invocarla en el momento que le des click con el boton de enmedio del mouse.

Por el tipo de codigo que estas pidiendo, me parece que necesitas un hook para detectar cuando el usuario presione el boton de enmedio del mouse, ya cuando consigas ese codigo, la funcion que te he dado te sera de mayor utilidad, ya que la podras invocar desde alli.

Última edición por Judgement; 08/03/2009 a las 20:49
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:01.