Título: Seleccionar un Item de un Listview y darle click derecho
Publicado por: jack06 en 12 Noviembre 2017, 16:43 pm
Buenos dias,
Alguien me puede hechar una manito, les explico de que es lo que deseo hacer, espero me puedan dar una manito:
Tengo un ListView, y picture, entonces lo que trato de hacer es que al seleccionar un item del listview, y le doy click derecho a ese item seleccionado me aparezca el picture y asi sucesivamente por cada item...
Título: Re: Seleccionar un Item de un Listview y darle click derecho
Publicado por: jack06 en 12 Noviembre 2017, 17:11 pm
Buenas, ya encontre la forma de como hacerlo Private Sub LvArtRepues_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
'variable para el item seleccionado Dim Item As ListItem ' verifica que se presionó el botón derecho If Button = vbRightButton Then ' HitTest devuelve la ferencia al item, a partir _ de las coordenadas del mouse Set Item = LvArtRepues.HitTest(x, y) ' chequea que haya un item seleccionado If Not Item Is Nothing Then ' Selecciona el elemento Set LvArtRepues.SelectedItem = Item ' texto del elemento seleccionado Me.Caption = Item.Text PicContainer.Visible = True lblListaDe.Caption = LvArtRepues.SelectedItem.SubItems(1) End If Else PicContainer.Visible = False End If End Sub Ahora el detalle es que me aparece el Picture donde lo posicione en tiempo de diseño, se puede mover el picture segun se haga click en cada item, la idea es que aparezca debajo del item seleccionado se podra?
Título: Re: Seleccionar un Item de un Listview y darle click derecho
Publicado por: okik en 12 Noviembre 2017, 19:45 pm
Hola Simplemente usa las coordenadas del mouse para mover el picture: PicContainer.Left = ListView1.ColumnHeaders.Item(1).Width '//Coloca la imagen al final de la columna 'PicContainer.Left = Item.Width + 50 '//Coloca la imagen al final de texto 'PicContainer.Left = x '//Coloca la imagen en el lugar del puntero PicContainer.Top = Item.Top + Item.Height + 40
Ejemplo: Private Sub Listview1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) 'variable para el item seleccionado Dim Item As ListItem ' verifica que se presionó el botón derecho If Button = vbRightButton Then ' HitTest devuelve la ferencia al item, a partir _ de las coordenadas del mouse Set Item = ListView1.HitTest(x, y) ' chequea que haya un item seleccionado If Not Item Is Nothing Then ' Selecciona el elemento Set ListView1.SelectedItem = Item ' texto del elemento seleccionado Me.Caption = Item.Text PicContainer.Visible = True lblListaDe.Caption = ListView1.SelectedItem.SubItems(1) PicContainer.Left = ListView1.ColumnHeaders.Item(1).Width '//Coloca la imagen al final de la columna 'PicContainer.Left = Item.Width + 50 '//Coloca la imagen al final de texto 'PicContainer.Left = x '//Coloca la imagen en el lugar del puntero PicContainer.Top = Item.Top + Item.Height + 40 End If Else PicContainer.Visible = False End If End Sub
Como ves he deshabilitado varias líneas de código a la hora de colocar la imagen, una al final de la columna (habilitada), otra al final del texto, y otra justo en el mismo lugar en el que se encuentre el puntero. Según te guste más. suerte
|