Evento ListBox

24/07/2005 - 08:15 por Fabian | Informe spam
Private Sub ListBox3_Mousedown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
If Button <> 2 Then Exit Sub 'Boton derecho del raton.
Seleccionar el item donde se encuentra el puntero del raton.
End Sub
Cuando cliquea con el boton derecho del raton dispara una macro con el
evento mouseup, que utiliza listbox3.text (item seleccionado) para hacer una
busqueda y un llenado de otro listbox, el temor es que el usuario no
seleccione antes con el boton izquierdo, si es posible hacerlo, agradecere
alguien me lo facilite, Gracias.
Revise las propiedades del listbox pero no pude encontrar/identificar esta
funcion.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
24/07/2005 - 09:40 | Informe spam
hola, Fabian !

Private Sub ListBox3_Mousedown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button <> 2 Then Exit Sub 'Boton derecho del raton.
Seleccionar el item donde se encuentra el puntero del raton.
End Sub
... el boton derecho del raton dispara... el evento mouseup
... utiliza listbox3.text (item seleccionado) para... una busqueda... llenado de otro listbox
... el temor es que el usuario no seleccione antes con el boton izquierdo, si es posible hacerlo [...]



si te sirve [de momento] una opcion mas 'barata' [y mucho menos 'compicada']...
1) 'aprovecha' la propiedad 'ControlTipText' del listbox [ya sea en tiempo de proyecto o en ejecucion]...
y 'ponle' un texto 'descriptivo/instructivo/...' [p.e.] ->"Haz un doble-click para lanzar el siguiente procedimiento..."<-
2) 'mueve' las instrucciones para el llenado del 'otro' listbox ->al evento '_DblClick' del listbox3<-

si cualquier duda... comentas?
saludos,
hector.
=lo anterior porque [supongo] es 'similar' pedir/obligar/instruir/... al usuario para que...
[primero] seleccione algun elemento de la listbox
[segundo] haga un click-derecho para lanzar el siguiente paso del proceso -?-
QUE... hacer 'un solo' doble-click [que necesariamente se haria sobre algun elemento de la lista] :))
-> si existe la posibilidad de que haya 'campos vacios' en el listbox3... [probablemente]
necesitaras 'condicionar' al evento para que la 'seleccion' coincida con algun elemento 'valido' del listbox [p.e.]
Private Sub ListBox3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox3.ListIndex = -1 Then MsgBox "Selecciona primero un elemento.": Exit Sub
' aqui el resto de las instrucciones... '
[ademas de que]... te evitas el 'andar buscando' si la posicion [x-y] del mouse 'coincide' con [el x-y de] algun elemento :))
Respuesta Responder a este mensaje
#2 Héctor Miguel
24/07/2005 - 10:59 | Informe spam
hola [de nuevo], Fabian !

Private Sub ListBox3_Mousedown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button <> 2 Then Exit Sub 'Boton derecho del raton.
Seleccionar el item donde se encuentra el puntero del raton.
End Sub
... el boton derecho del raton dispara... el evento mouseup
... utiliza listbox3.text (item seleccionado) para... una busqueda... llenado de otro listbox
... el temor es que el usuario no seleccione antes con el boton izquierdo, si es posible hacerlo [...]



ha resultado [con mucho] mas 'sencillo y directo' utilizar [solo] el evento '_mouseup' del control listbox...
-> 'obliga' a una seleccion del elemento situado 'bajo el puntero' al momento de liberar el boton derecho :DD
-> 'deberas encontrar' el 'factor' [segun la fuente y puntos que estes utilizando] <= OJO
[yo utilize una fuente 'Tahoma' en 8 puntos para los elementos del control, y el factor que 'me funciono' es 9]
prueba en el modulo de codigo del formulario ==Private Sub ListBox3_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then ListBox3.ListIndex = (Y / 9) - 1: MsgBox "Iniciando proceso alterno"
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#3 Fabian
24/07/2005 - 19:16 | Informe spam
Gracias por las soluciones, voy a tratar de adecuar la mejor.
Saludos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida