SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Jessuss en Martes 20 de Mayo de 2003, 10:14
-
A ver, necesito si me podeis ayudar ejemplo con un TreeView, el cual me muestre el esquema interno de MiPc al estilo explorador de windows.
Gracias de antemano.:question:
-
Con este código podrás utilizar el seleccionador de carpetas del windows. Aquí te dejo el código: En un formulario añade un commandButton que se llame cmdExaminar y un textbox que se llame txtRuta.
{Form Code}
'Este código lo pones en el código del formulario
Private Sub cmdExaminar_click ()
txtRuta.Text = Module1.GetFolder(Form1.hWnd, "Select folder")
End Sub
{Module Code}
'Agregas un módulo y le pegas este código.
Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Const BIF_RETURNONLYFSDIRS = &H1
Const BIF_DONTGOBELOWDOMAIN = &H2
Const BIF_STATUSTEXT = &H4
Const BIF_RETURNFSANCESTORS = &H8
Const BIF_BROWSEFORCOMPUTER = &H1000
Const BIF_BROWSEFORPRINTER = &H2000
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
Function GetFolder(ByVal hWndOwner As Long, ByVal sTitle As String) As String
Dim bInf As BROWSEINFO
Dim RetVal As Long
Dim PathID As Long
Dim RetPath As String
Dim Offset As Integer
bInf.hOwner = hWndOwner
bInf.lpszTitle = sTitle
bInf.ulFlags = BIF_RETURNONLYFSDIRS
PathID = SHBrowseForFolder(bInf)
RetPath = Space$(512)
RetVal = SHGetPathFromIDList(ByVal PathID, ByVal RetPath)
If RetVal Then
Offset = InStr(RetPath, Chr$(0))
GetFolder = Left$(RetPath, Offset - 1)
End If
End Function
Espero que te sirva.
Saludos,
Roberto García
-
Muchas gracias, lo probaré y te contaré que tal.:lightsabre:
-
Funciona, muchas gracias :yes:
-
Perdona Rober.29, pero me sabrias decir si hay algun parámetro o alguna forma con la cual pueda sacar los ficheros o .txt que hay dentro de las carpetas?
Gracias de nuevo.
-
Entonces que es lo que quieres? Quieres utilizar la ventana de abrir ficheros de windows?
En esa ventana te aparece toda la estructura de carpetas, ficheros, ...
Es esa la que te interesa?
-
Si me interesa eso, la que me abre las carpertas, ficheros, etc...
Gracias
-
Añade el componente commondialog a tu proyecto (Microsoft Common Dialog Control 6.0(SP·))
Private Sub cmdOpen_click()
Dim strOpen As String
On Error GoTo ErrHandler
CommonDialog1.CancelError = True
CommonDialog1.Flags = cdlOFNFileMustExist + cdlOFNHideReadOnly
CommonDialog1.Filter ="All Files (*.*)|*.*|Rich Text Files"&"(*.rtf)|*.rtf|Text Files(*.txt)|*.txt"
CommonDialog1.FilterIndex = 2
CommonDialog1.ShowOpen
strOpen = CommonDialog1.FileName
RichTextBox1.LoadFile strOpen
ErrHandler:
Exit Sub
End Sub
Saludos.
-
Asi es como lo tenia antes, y lo que ahora me piden es que esa estructura esté siempre visible, sin falta de dar a ningún botón ni nada por el estilo, por ello había pensado primero en el TreeView, no se si eso se puede hacer.
Gracias por tu paciencia.
-
Creo que si pero para eso tardare un pokito más en darte una solución porque tendría que hacer pruebas.
En cuanto lo tenga te lo pongo aquí.
-
Gracias.
Yo lo estoy intentando con un TreeView y enlazarlo con un FileListBox, haber que sale.
-
Roberto, al final lo he conseguido enlazar en un ListBox, ya me salen todos los ficheros que hay en cada carpeta, pero ahora lo que no se es como seleccionar (6 ficheros por ejemplo) y cambiarles, la extension todos a la vez.
Gracias por todo de todas maneras.
:sorcerer:
-
jessus me interesa mucho el tema que expones , yo tambien estoy haciendo una aplicacion y tengo el mismo problema, ME PODRIAS DAR TU EMAIL O MOVIL PARA ABLAR CONTIGO.
CREO QUE PODEMOS RESOLVER LA DUDA JUNTOS , DOS MENTES PIENSAN MAS QUE UNA
:think::flower:
-
Ya se como seleccionar mas de 1 es con la propiedad MultiSelected del ListBox, y para cambiar la extension con la funcion Name.
cocoweek ya tienes mi e-mail por hay, dime q quieres.
Saludos.
Jesus Fdez.:comp::beer: