Sección de códigos , trucos y ejemplos para visual basic


253 - Añadir lista de archivos recientes abiertos en un menú

<Volver> - Anterior - Siguiente



 

 

 

Contenido

 

 

 

 

 

 

 


Crear MRUs y guardar los paths en el registro.

Ejemplo que utiliza un módulo de clase para añadir la lista de accesos directos de archivos abiertos recientemente en un sub menú.

El módulo lee y guarda en el registro, las rutas de los archivos abiertos recientemente, creando los menú en forma dinámica a partir de uno creado en tiempo de ejecución

vista del menú

vista del formulario Mdi con la lista de acceoso directos de los archivos recientes

 

El ejemplo lo hice en un módulo para que resulte mas fácil utilizarlo en otra aplicación o programa, es decir solo importando el módulo de clase al nuevo proyecto, y especificando el array de menú que se utilizará para crear en tiempo de ejecución y alguno que otro detalle, ya se puede utilizar. sin tener que handar cambiando y adaptando varias partes del código fuente, es decir poder reutilizarlo en otro programa sin tantas complicaciones

 

Descripción del módulo:

Método Init: Este método se debe ejecutar en el FormLoad, y es el que carga todos los valores del registro y carga los menues. Hay que enviar como parámetro el nombre del array de menú y el nombre del menú separador. ......Después ver el ejemplo

Count: Indica cuantos elementos mostrar, por ejemplo si especificamos 6, se visualizarán hasta 6 elementos como máximo.

EliminarLista: borra todas las entradas del registro, y también elimina los elementos del menú

NuevoElemento: Crea un nuevo elemento en el menú. Se debe enviar como parmámetro la ruta del archivo, y automáticamente se añadirá al menú y al registro

ObtenerPath: función que retorna el path del archivo, es decir esta función se ejecuta al hacer click en el menú para abrir el documento. Al retornar el path luego se utiliza para cargar el documento en el control deseado: TextBox, Richtextbox, webbrowser o para lo que se desee

CommonDialog_Abrir. Este método es opcional, y lo que hace es abrir el commondialog de windows para abrir archivo, para no tener que incorporar el ocx Common Dialog.

 

Nota: el código del módulo pararece un poco largo para algo relativamente simple como esto, pero en realidad casi la mitad del código es para el cuadro de diálogo Abirir archivo de windows.

 

Ejemplo

 

1 - Añadir un formulario Mdi

2 - Al formulario Mdi, crear un Submenú llamado mnuReciente.

Importante: Este menú es el que forma un array de menú para poder crear los elementos en tiempo de ejecución, por lo tanto colocar en la propiedad Index el valor 1. Si no se hace esto obviamente dará error

mnuReciente

vista del editor de mnú de visual basic para crear el array de menúes

 

3 - Añadir otro menú llamado mnuSeparador ( colocarlo arriba del otro como muestra la imagen ). Este menú es la línea divisoria

mnuSeparador

vista del editor de vb para crear el separador

 

4 - Añadir un menú mas, llamado mnuAbrir ( para desplegar el cuadro de diálogo para abrir archivo )

5 - Por último agregar un formulario llamado Form1 al proyecto y también al Form1 un control RichTextbox.

 

Código fuente en el Formulario MDi y en el módulo de clase

 

Código fuente del formulario Mdi

 

Código fuente dentro del módulo de clase llamado Class1

 

 


Nota:

 

En el FormLoad del Mdi primero se crea la instancia del módulo.

Set c_Recientes = New Class1

 

Luego seguido de esto se indica cuantos elementos mostrar:

c_Recientes.Count = 6

 

..seguido se ejecuta el método Iniciar pasando los dos menú

call c_Recientes.Init( mnuReciente, mnuSeparador )

 

... Si se desea eliminar todo, es decir los datos del registro de windows y los menú, ejecutar

c_Recientes.EliminarLista

 


Crear MRUs y guardar los paths en un archivo INI

Este ejemplo está basado en el anterior, pero es mejor , ya que los datos, es decir la lista de MRUS o accesos directos, los almacena en un archivo INI, en vez de utilizar el registro de windows, que podría generar algún error al intentar ejecutar la aplicación y no tener privilegios para acceder al registro.

El código fuente es practicamente igual, lo único que se le añadió y adaptó es , utilizar la función GetPrivateProfileString para leer las rutas desde el Ini en vez de utilizar GetSetting, y el uso de la función WritePrivateProfileString para escribir los paths en vez de utilizar la función SaveSetting.

Descargar código fuente

 


Enlaces relacionados



Buscar en Recursos vb