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: