VFP (Visual Fox Pro) tiene un control activex llamado OLE Microsoft Web Browser para mostrar páginas web dentro de un formulario y podemos aprovecharlo también para mostrar también carpetas de nuestro equipo.
Contenidos
Por defecto FoxPro usa la versión 7 de Internet Explorer en este control activex. Podemos usar la versión 11 siguiendo los pasos de este artículo.
Mostrar páginas web dentro del formulario
Insertamos en el formulario un objeto Control ActiveX (OleControl) y escogemos el tipo Microsoft Web Browser.
Le asignamos un nombre, por defecto se llama Olecontrol1.
Ahora incluimos este código en el init del formulario:
THIS.Olecontrol1.Navigate('www.google.es')
Si al cargar la página en el formulario aparecen errores de script, podemos desactivarlos poniendo a True la propiedad Silent del control activex.
Mostrar el contenido de una carpeta dentro del formulario
Si en lugar de una dirección web, le indicamos al control activex la ruta de una carpeta local, tendremos desde nuestro formulario acceso completo a la carpeta, pudiendo realizar toda clase de operaciones con sus archivos: eliminar, renombrar, crear nuevos e incluso arrastrar archivos en ella. Por ejemplo:
THIS.Olecontrol1.Navigate('C:\Users\user\Desktop')
Mostrar el contenido de una unidad de red
Si en lugar de una web o una carpeta local indicamos una unidad de red, al intentar trabajar con cualquier archivo o incluso simplemente haciendo doble clic, aparece un mensaje de advertencia:
¿Desea permitir que se ejecuten en el equipo los archivos de este sitio web?
Solo debe ejecutar archivos que provengan de sitios web en los que confía.
¿Cómo se puede saber si este sitio web es de confianza?
Esto hace muy difícil trabajar, pero podemos solucionarlo facilmente añadiendo la IP del servidor a los sitios de confianza de internet de la siguiente manera:
- Abrimos las opciones de internet de una de estas maneras:
- Vamos a inicio, escribimos inetcpl.cpl y lo ejecutamos.
- Vamos a Internet Explorer y en el icono del engranaje de arriba a la derecha, seleccionamos Opciones de Internet.
- Abrimos Opciones de Internet desde el Panel de Control.
- Vamos a pestaña seguridad, Intranet Local y ponemos nivel de seguridad bajo (Por defecto está en Medio bajo). Esto habilita la opción Ejecutar programas y archivos en IFRAME, que es la que nos permitirá trabajar con la unidad de red desde el control activex.
- Pulsamos en Sitios, Opciones avanzadas, indicamos la IP del servidor al que nos queremos conectar y pulsamos agregar. Si nos da un error, desmarcar la opción Requerir comprobación del servidor y volver a agregar.
- Aceptamos todos los cambios y ya no volverá a aparecer el mensaje de advertencia al trabajar con la carpeta desde nuestro formulario.
Fuente: utteraccess
Personalizar vista de carpeta con atajos de teclado
La carpeta se nos muestra por defecto con la vista de iconos. El explorador de Windows permite cambiar la vista con estos atajos de teclado:
- Ctrl Alt 1: Iconos muy grandes
- Ctrl Alt 2: Iconos grandes
- Ctrl Alt 3: Iconos medianos
- Ctrl Alt 4: Iconos pequeños (funciona desde el explorador de Windows pero no desde nuestro formulario)
- Ctrl Alt 5: Vista de lista
- Ctrl Alt 6: Vista detalle
- Ctrl Alt 7: Vista mosaico
- Ctrl Alt 8: Vista contenido
- Ctrl Alt +: aumentar tamaño de iconos
- Ctrl Alt -: reducir tamaño de iconos
- Ctrl +: Autoajustar columnas en vista detalle
Podemos enviar estos atajos a nuestro formulario desde código para personalizar la vista de la carpeta en nuestro formulario con SendKeys:
LOCAL WshShell
WITH THISFORM.OleControl1
.SetFocus
WshShell = CREATEOBJECT( "Wscript.Shell" )
WshShell.SendKeys( "^%6" ) && envia Ctrl Alt 6 (vista detalle)
ENDWITH
Le indicamos a SendKeys las teclas que queremos enviar. Algunas teclas tienen códigos especiales:
Tecla | Código |
---|---|
SHIFT | + |
CTRL | ^ |
ALT | % |
Mas información de las teclas disponibles:
Deja una respuesta