elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  CommonDialog
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: CommonDialog  (Leído 1,368 veces)
NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
CommonDialog
« en: 26 Diciembre 2005, 19:31 pm »

Hola a todos, mi pregunta es la siguiente.
Hay alguna forma de que, mediante APIs, pueda utilizar el dialogo que aparece en la foto??



Lo necesito para seleccionar un directorio desde mi aplicacion.

Ya se que se puede crear un Form con listas de discos y carpetas, pero me gustaria hacerlo con APIs.

Gracias de antemano.

Un saludo y felices fiestas.-


En línea

wuepe

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: CommonDialog
« Respuesta #1 en: 30 Diciembre 2005, 09:37 am »

Crea un Form1 y pon un boton llamado Command1

Este es el codido:

Código:
Option Explicit

Private Type BROWSEINFO
     hOwner As Long
     pidlRoot As Long
     pszDisplayName As String
     lpszTitle As String
     ulFlags As Long
     lpfn As Long
     lParam As Long
     iImage As Long
End Type

Const BIF_RETURNONLYFSDIRS = &H1

Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long


Function CambioDestino(ByVal hWnd As Long, ByVal Titulo As String) As String
Dim Destino As String
Dim Dialog As BROWSEINFO
Dim Result As Long, Path As String, Longitud As Long
Destino = ""

Dialog.hOwner = hWnd
Dialog.lpszTitle = Titulo
Dialog.ulFlags = BIF_RETURNONLYFSDIRS
Result = SHBrowseForFolder(Dialog)

Path = Space(512)
Result = SHGetPathFromIDList(ByVal Result, ByVal Path)

'Resolvemos la ruta...
Longitud = InStr(Path, Chr$(0))
Destino = Left$(Path, Longitud - 1)
'Aseguramos la barra '\' tanto por unidad C:\ que por
'subdirectorios C:\Ruta\
If Right$(Destino, 1) <> "\" And Len(Destino) > 2 Then ' len(Destino)>2 es C:\
   Destino = Destino + "\"
End If
If Destino = "" Then Destino = "Cancelar..." 'Si cancela o pulsa la aspa 'X'
CambioDestino = Destino

End Function



Private Sub Command1_Click()
  Dim Destino As String
  Destino = CambioDestino(Me.hWnd, "Seleccione el directorio...")
  If Destino <> "Cancelar..." Then MsgBox Destino
End Sub


Saludos


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda commondialog y texto en picturebox
Programación Visual Basic
soru13 0 1,930 Último mensaje 17 Abril 2011, 20:43 pm
por soru13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines