SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: FRIJU en Miércoles 19 de Noviembre de 2003, 09:53

Título: Re: ListView
Publicado por: FRIJU en Miércoles 19 de Noviembre de 2003, 09:53
Hola Compañer@s!
      Tengo en un formulario un ListView, al que le asocio imagenes para acceder a los distintos menús que tiene la base de datos.
Mi problema es el siguiente:
   Cuando hago click, fuera de cualquier icono me sale un error " Error 91 en tiempo de ejecución", varible o tipo de object o la variable With no está establecida.
Intento controlar el error pero no me hace caso:

Código:
Private Sub ListView1_Click()
 On Error GoTo ControlErrores
    Select Case ListView1.HitTest(xx, yy).Key
        Case "ACADEMIAS"
            Unload Me
            FrmAcademias.Show 1

Alguien sabe como arreglarlo?
         Muchas gracias de Antemano.
Título: Re: ListView
Publicado por: Brroz en Miércoles 19 de Noviembre de 2003, 10:53
Kaixo FRIJU.

El problema se produce al usar el método HitTest cuando las coordenadas x e y no coinciden con ningun ListItem del control. Prueba con algo de esta otra forma:

Private Sub ListView1_Click()
Dim lst1 As ListItem
Set lst1 = ListView1.HitTest(xx, yy)
If Not lst1 Is Nothing Then
         Select Case lst1.Key
               Case "ACADEMIAS"
                   .
                   .
                   .
          End Select
Else
           MsgBox "No hay ningún ListItem seleccionado en " & xx & " " & yy
End If
Set lst1 = Nothing

Agur.
Título: Re: ListView
Publicado por: Brroz en Miércoles 19 de Noviembre de 2003, 10:58
Otra cosa que se me olvidaba comentar por si acaso...

Obten las coordenadas X e Y desde el método 'MouseDown' del control ListView y almacénalas en variables para usarlas luego con HitTest.
Título: Re: ListView
Publicado por: FRIJU en Miércoles 19 de Noviembre de 2003, 10:59
Otra vez más te tengo que agradecer tu rapidez y eficacia en las respuestas. eres muy bueno Brroz.
Moitas gracias!!!!!!!!!
:flower:
Título: ListView
Publicado por: FRIJU en Miércoles 19 de Noviembre de 2003, 11:03
el 'MouseDown'  lo tengo controlado.
Muchas gracias!!!!!
:beer: