Uso del control "Diálogo estándar" (Common Dialog Control)

El control Diálogo Estándar permite visualizar las cajas de diálogo mas comúnmente utilizadas por las aplicaciones que corren bajo Windows. Los cuadros de diálogo que genera este control son los ya conocidos Abrir, Guardar Como, Imprimir, Fuente y Color que observamos en la gran mayoría de las aplicaciones.

Para poder hacer uso de este control debemos aņadirlo a la caja de herramientas de Visual Basic, ya que no forma parte de los controles intrinsecos de la aplicación. Para incorporar el control Diálogo Estándar vamos al menú Proyecto, Componentes. De la lista de componentes buscamos Microsoft Common Dialog Control 5.0 lo tildamos y aceptamos. En la caja de herramientas deberá aparecer un nuevo control. Le damos doble clic para incorporarlo al formulario. Este control es invisible en tiempo de ejecución, como también ocurría con el control Timer.

Para visualizar algunas de las cajas de diálogo mencionadas debemos invocar alguno de los siguientes métodos:

ShowOpen para generar el cuadro de diálogo abrir.
ShowSave para generar el cuadro de diálogo Guardar Como.
ShowColor para generar el cuadro de diálogo Color.
ShowFont para generar el cuadro de diálogo Fuente.
ShowPrinter para generar el cuadro de diálogo Imprimir.
ShowHelp invoca el motor de ayuda de Windows.

Por ejemplo, suponiendo que el control que se ha aņadido al formulario se llama CommonDialog1 y queremos generar el cuadro de diálogo Abrir utilizaríamos la siguiente línea de código:

CommonDialog1.ShowOpen

La caja de diálogo abrir permite al usuario seleccionar una unidad del disco rígido, un directorio, una extensión de archivo y un nombre. Una vez aceptado el cuadro de diálogo, la propiedad FileTitle del control Diálogo Estándar tendrá como valor la unidad, el directorio y nombre del archivo seleccionado, por ejemplo "C:\fotos\01.jpg" si hemos seleccionado el archivo 01.jpg que se encuentra en la unidad C: bajo la carpeta fotos.

La caja de diálogo Guardar Como es idéntica a la caja de diálogo Abrir, excepto en el título.

Si se desea que la caja de diálogo Abrir solo muestre un determinado tipo de archivos, se debe asignar a la propiedad Filter una cadena de caracteres como la siguiente:

CommonDialog1.Filter="Imágenes bmp y jpg | .bmp;*.jpg"

La línea de código anterior solo mostraría en el cuadro de diálogo Abrir, aquellos archivos que tengan extensión bmp o jpg. Si deseamos optar entre las opciones ver imágenes o todos tipo de archivos deberíamos introducir la siguiente modificación:

CommonDialog1.Filter="Imágenes bmp y jpg | .bmp;*.jpg | Todos los archivos | *.*"

Otra propiedad importante es InitDir que permite establecer un directorio inicial para seleccionar el archivo. Por ejemplo el siguiente código haría que inicie el diálogo abrir en la carpeta fotos de la unidad D:\.

CommonDialog1.InitDir="D:\fotos"
CommonDialog1.ShowOpen

Utilizar la caja de diálogo abrir para cargar una imagen en un control Image.

El siguiente código permite que al pulsar el menú Abrir de un formulario, se genere la caja de diálogo Abrir en la carpeta D:\Proyecto\fotos, para seleccionar solo archivos del tipo bmp o jpg. Al aceptar la imagen seleccionada se cargará en la propiedad Picture del control Image a través de la sentencia LoadPicture.

Private Sub MnuAbrir_Click()
   CommonDialog1.InitDir = "D:\Proyecto\fotos"
   CommonDialog1.Filter = "Imagenes (*.bmp;*.jpg)|*.bmp;*.jpg"
   CommonDialog1.ShowOpen
   Image1.Picture = LoadPicture(CommonDialog1.filename)
End Sub