Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: CICOLO_111234 en 19 Agosto 2008, 10:10 am



Título: Crear un botón "EXAMINAR" en VB6
Publicado por: CICOLO_111234 en 19 Agosto 2008, 10:10 am
Hola!!!!

Me gustaría saber como krear en VB6 un botón k examine archivos para seleccionar uno. Como cuando abres un archivo desde un programa. Muchas gracias de antemano.


Título: Re: Crear un botón "EXAMINAR" en VB6
Publicado por: skapunky en 19 Agosto 2008, 14:54 pm
Eso no se crea, es un control que te permite hacerlo, vaya un componente. Lo malo es que dependes del OCX. Lo mejor es que busques una api para no tener dependencias.


Título: Re: Crear un botón "EXAMINAR" en VB6
Publicado por: seba123neo en 19 Agosto 2008, 17:11 pm
Hola,se hace con el control CommonDialog, pero para no andar dependiendo de ese OCX busca sobre la api llamada GetOpenFileName

saludos.


Título: Re: Crear un botón "EXAMINAR" en VB6
Publicado por: loganzito en 19 Agosto 2008, 18:32 pm
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. :P

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