Este control es el mismo que el de la utilidad SelDir. Pero convertido en control OCX (ActiveX)
Puedes probarlo en la página de ejemplo del control (pincha aquí), te recuerdo que para poder instalar el control, deberás tener "puesta" la seguridad en "media" para que te pregunte si quieres instalar los componentes.
Fiate de mi, no tiene "virus".Baja los listados para VB5 (gsseldir.zip 12.5 KB) Deberás crear la estructura de directorios incluida.
En esta ocasión, no me voy a enrollar demasiado, ya que básicamente es igual que la utilidad. Lo que tiene de nuevo, es que ahora tiene un método (función) para mostrar la ventana de selección y devolver el directorio que se ha seleccionado.
Lo que aquí te pongo son los cambios que deberás realizar al listado de "comprobación" del form de prueba que se usó en la utilidad SelDir. Este form para usar con VB4, t_gsSelDir.frm, también está en el archivo comprimido.Para usarlo, deberás llamar a esta función de esta manera:
Private Sub cmdExaminar_Click() 'Seleccionar el directorio en el que se empezará la Busqueda Text1 = oSelDir1.ShowSelDir(Trim$(Text1)) End SubPara usar los objetos expuestos y la selección de directorios/archivos, esta es la versión parcial del botón Aceptar:
Es para que veas cómo hay que declarar estos objetos. cSelDir se puede también declarar como Variant, pero para los otros dos objetos, deben ser Object, sino no funcionarán correctamente. Así que si los declaras todos como Object, mejor.Private Sub cmdAceptar_Click() '... 'las clases usadas... Dim tNombre As Object Dim colDir As Object Dim cSelDir As Object Set tNombre = oSelDir1.cNombre Set colDir = oSelDir1.cNombres Set cSelDir = oSelDir1.SelDir '... End SubEstas son las declaraciones, dentro del control, para exponer los objetos cNombre, cNombres y SelDir.
'Estos son los objetos expuestos Public cNombre As New cNombre Public cNombres As New cNombres Public SelDir As New SelDirLa función/Método ShowSelDir es esta:
Public Function ShowSelDir(Optional vDir) As String 'Mostrar el Form para seleccionar el directorio Dim cSelDir As Object Dim sDir As String 'Directorio seleccionado If IsMissing(vDir) Then sDir = "" Else sDir = Trim$(vDir) End If Set cSelDir = Me.SelDir sDir = cSelDir.Seleccionar(sDir, "") If Len(sDir) Then If Right$(sDir, 1) = "\" Then sDir = Left$(sDir, Len(sDir) - 1) End If End If ShowSelDir = sDir Set cSelDir = Nothing End FunctionY esto es todo, echale un vistazo al código, que para eso está y verás lo fácil que es esto de crear controles.
Le estoy empezando a coger gustillo. Creo que es preferible y más estable que las librerías OLE (DLL)
Al menos en las pruebas que llevo realizadas, el VB4 no se me ha quedado colgado.
Ya te comentaré cuando haga más pruebas.¡ Que los disfrutes !