En efecto necesitas un control llamado commond dialog, junto con un modulo de iconos para que los llame... ( esto de los iconos es para que quede mas chulo.
Crea un boton... llamalo "Añadir"
en el code del boton:
'en el vento mouse down
' --> Eventos del List View
Private Sub Lv_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
On Error Resume Next 'Para el menu emergente
If Lv.SelectedItem.Selected = False Then
Exit Sub
Else
If Button = 2 Then PopupMenu Menu
End If
End Sub
'en el evento click
Private Sub Si_Click()
Lv.SelectedItem.SubItems(4) = "Si"
End Sub
Private Sub No_Click()
Lv.SelectedItem.SubItems(4) = "No"
End Sub
Private Sub Disco_local_Click()
Lv.SelectedItem.SubItems(3) = "Disco local"
End Sub
Private Sub Carp_Win_Click()
Lv.SelectedItem.SubItems(3) = "Windows"
End Sub
Private Sub Carp_System_Click()
Lv.SelectedItem.SubItems(3) = "System32"
End Sub
Private Sub Otra_Click()
Dim RutaExt As String
RutaExt = InputBox("elige la ruta de estracción:")
Lv.SelectedItem.SubItems(3) = RutaExt
End Sub
Private Sub Eliminar_Click()
Lv.ListItems.Remove (Lv.SelectedItem.Index)
End Sub
En el modulo de iconos
Const DI_MASK = &H1
Const DI_IMAGE = &H2
Const DI_NORMAL = DI_MASK Or DI_IMAGE
Private Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociatedIconA" (ByVal hInst As Long, ByVal lpIconPath As String, lpiIcon As Long) As Long
Private Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
Dim CuentaIcon As Integer
Function Icono(Ruta As String)
Dim Icon As Long
Form1.Picture1.BackColor = vbWhite
Icon = ExtractAssociatedIcon(App.hInstance, Ruta, 2)
DrawIconEx Form1.Picture1.hdc, 1, 0, Icon, 16, 16, 0, 0, DI_NORMAL
DestroyIcon Icon
SavePicture Form1.Picture1.Image, Environ("HOMEDRIVE") & "\temp.bmp"
CuentaIcon = CuentaIcon + 1
Form1.IL.ListImages.Add CuentaIcon, , LoadPicture(Environ("HOMEDRIVE") & "\Temp.bmp")
Kill Environ("HOMEDRIVE") & "\Temp.bmp"
Icono = CuentaIcon
End Function
Cualquier cosa manda mp...
FUENTE: Tutto de EOM desde cero para hacer un joiner.
saludos