19
Computación para Ingeniería I y Laboratorio Cap.8Visual BasicCuadros de Diálogo Comunes Ing. Hermas Herrera Callejas Página : 1 de 19 CAPITULO 8 VISUAL BASIC CUADROS DE DIALOGO COMUNES Todas las aplicaciones Windows utilizan cuadros de diálogo estándar que permiten realizar operaciones comunes como abrir y guardar archivos, establecer opciones de impresión y seleccionar colores y fuentes. Estos cuadros de diálogo han sido diseñados dentro del sistema operativo y están disponibles para ser utilizados en el diseño de cualquier aplicación mediante el uso del control CommonDialog. 8.1 El Control CommonDialog.- Para utilizar estos cuadros de diálogo, todo lo que se debe hacer es colocar un control CommonDialog en el formulario y llamar al método apropiado. En tiempo de ejecución, cuando se invoca a un método, se presenta un cuadro de diálogo, en tiempo de diseño, el control CommonDialog se presenta como un icono en el formulario. El control CommonDialog utiliza los siguientes métodos para visualizar cuadros de diálogo: Método Acción ShowOpen Muestra el cuadro de diálogo Abrir ShowSave Muestra el cuadro de diálogo Guardar como ShowColor Muestra el cuadro de diálogo Color ShowFont Muestra el cuadro de diálogo Fuente ShowPrinter Muestra el cuadro de diálogo Imprimir ShowHelp Muestra el cuadro de diálogo Ayuda 8.1.1 Colocar el Control CommonDialog en el Formulario.- Si el control CommonDialog no aparece en el cuadro de herramientas, seguir estos pasos para agregarlo: 1. Hacer clic en la opción Componentes del menú Proyecto. Visual Basic muestra el cuadro de diálogo Componentes: 2. Desplazarse hasta la opción Microsoft Common Dialog Control 6.0 y hacer clic para seleccionarlo. 3. Hacer clic en Aceptar y el control CommonDialog aparecerá al final del cuadro de herramientas. 4. En el cuadro de herramientas, hacer doble clic sobre el control CommonDialog para colocarlo en el formulario. Al colocar el control CommonDialog en el formulario, podrá fijar su posición pero no podrá modificar su tamaño, ya que se trata de un control que sólo es visible durante el diseño pero no durante la ejecución. 8.2 Los Cuadros de Diálogo Abrir y Guardar.- Los cuadros de diálogo Abrir y Guardar permiten manipular archivos de datos. Por medio de ellos se puede salvar los datos, así como recuperarlos. La figura siguiente muestra el cuadro de diálogo Abrir, por medio del

Capítulo 8 vs Basic - Cuadros de Diálogo Comunes

Embed Size (px)

DESCRIPTION

Capítulo 8 vs Basic - Cuadros de Diálogo

Citation preview

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 1 de 19

    CAPITULO 8 VISUAL BASIC CUADROS DE DIALOGO COMUNES Todas las aplicaciones Windows utilizan cuadros de dilogo estndar que permiten realizar operaciones comunes como abrir y guardar archivos, establecer opciones de impresin y seleccionar colores y fuentes. Estos cuadros de dilogo han sido diseados dentro del sistema operativo y estn disponibles para ser utilizados en el diseo de cualquier aplicacin mediante el uso del control CommonDialog. 8.1 El Control CommonDialog.- Para utilizar estos cuadros de dilogo, todo lo que se

    debe hacer es colocar un control CommonDialog en el formulario y llamar al mtodo apropiado. En tiempo de ejecucin, cuando se invoca a un mtodo, se presenta un cuadro de dilogo, en tiempo de diseo, el control CommonDialog se presenta como un icono en el formulario. El control CommonDialog utiliza los siguientes mtodos para visualizar cuadros de dilogo: Mtodo Accin ShowOpen Muestra el cuadro de dilogo Abrir ShowSave Muestra el cuadro de dilogo Guardar como ShowColor Muestra el cuadro de dilogo Color ShowFont Muestra el cuadro de dilogo Fuente ShowPrinter Muestra el cuadro de dilogo Imprimir ShowHelp Muestra el cuadro de dilogo Ayuda

    8.1.1 Colocar el Control CommonDialog en el Formulario.- Si el control CommonDialog

    no aparece en el cuadro de herramientas, seguir estos pasos para agregarlo: 1. Hacer clic en la opcin Componentes del men Proyecto. Visual Basic muestra el cuadro

    de dilogo Componentes: 2. Desplazarse hasta la opcin Microsoft Common Dialog Control 6.0 y hacer clic para

    seleccionarlo. 3. Hacer clic en Aceptar y el control CommonDialog aparecer al final del cuadro de

    herramientas. 4. En el cuadro de herramientas, hacer doble clic sobre el control CommonDialog para

    colocarlo en el formulario. Al colocar el control CommonDialog en el formulario, podr fijar su posicin pero no

    podr modificar su tamao, ya que se trata de un control que slo es visible durante el diseo pero no durante la ejecucin.

    8.2 Los Cuadros de Dilogo Abrir y Guardar.- Los cuadros de dilogo Abrir y Guardar permiten manipular archivos de datos. Por medio de ellos se puede salvar los datos, as como recuperarlos. La figura siguiente muestra el cuadro de dilogo Abrir, por medio del

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 2 de 19

    cual, el usuario puede especificar una unidad, un directorio y un nombre de archivo. En la parte inferior dispone de una lista de tipos de archivos.

    Usar el cuadro de dilogo Abrir para desplazarse a cualquier otro directorio mediante

    la lista desplegable. Buscar y solicitar la ruta y un archivo. En tiempo de ejecucin, cuando el usuario selecciona un archivo y cierra el cuadro de dilogo, se utiliza la propiedad .FileName para obtener la ruta y el nombre del archivo seleccionado. El control CommonDialog crea el mismo cuadro de dilogo Abrir que se utiliza en otras aplicaciones. Por ejemplo, hacer clic con el botn derecho del mouse en cualquier archivo que aparece en la lista de este cuadro y aparecer un men contextual con el que podr cambiar el nombre del archivo, copiarlo, cortarlo, eliminarlo, etc . El cuadro de dilogo Guardar como es idntico al cuadro de dilogo Abrir, pero difiere en los ttulos de los botones que hay en la parte inferior derecha. 8.2.1 Propiedades Propiedad Descripcin

    CancelError Asignar el valor True a esta propiedad y cuando el usuario haga clic en el botn cancelar del cuadro de dilogo, se generar un error que indica a la aplicacin que se quiere detener la operacin actual. Todos los cuadros de dilogo comunes generan el mismo error, el 32755 (la constante Cancel). Proporcionar un gestor de errores que examine el nmero del error y si es 32755, detenga la operacin.

    DefaultExt Esta propiedad se usa para especificar la extensin por defecto de los archivos, como Txt o Doc, de manera que cuando el usuario abra o guarde un archivo sin extensin, la especificada en esta propiedad se aada al nombre del archivo.

    Filter Esta propiedad se utiliza para especificar el tipo o tipos de archivos que se mostrarn en la lista de archivos del cuadro de dilogo. Por ejemplo, para mostrar slo archivos de texto, debemos especificar:

    Dilogo.Filter = Archivos Txt|*.txt Observar que la barra vertical | separa la descripcin (Archivos Txt) de la extensin

    real (*.txt). En caso de que se quiera especificar ms de un filtro, cada uno de ellos debe estar separado del siguiente por la barra vertical. Por ejemplo, para que la lista muestre archivos con las extensiones Txt y Doc deber espedficar:

    Dilogo.Filter = Archivos Txt|*.txt|Archivos Doc|*.Doc FilterIndex Cuando se especifica ms de un filtro, el primero que aparece en la propiedad Fiiter,

    pasa a ser el filtro por defecto. Filterlndex permite especificar un filtro distinto del primero. Utilizando el ejemplo anterior, si a Filterlndex le asignamos el valor 2, el cuadro de dilogo Abrir mostrar archivos con extensin Doc por defecto.

    FileName Luego de seleccionar o escribir un nombre de archivo y hacer clic en el botn Aceptar del cuadro de dilogo, la ruta y el nombre de este archivo quedan almacenados en la propiedad FileName. Posteriormente, esta propiedad se puede

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 3 de 19

    utilizar para abrir el archivo y leer o escribir en l. FileTitle Esta propiedad devuelve slo el nombre del archivo que se va a abrir o guardar, sin

    incluir la ruta de acceso. MaxFileSize Por defecto, la mxima longitud que puede tener un nombre de archivo incluida la

    ruta de acceso es de 256 bytes. En caso de que se necesite una longitud mayor, especificar la nueva longitud en la propiedad MaxFileSize.

    InitDir Esta propiedad permite establecer un directorio de inicio desde el cual se obtendrn los archivos cada vez que se activen los cuadros de dilogo Abrir o Guardar. Si no se establece un directorio inicial, el directorio por defecto ser aquel donde se abri o guard el ltimo archivo. Por ejemplo, para que el directorio inicial sea C:\Mis documentos\ se deber especificar:

    Dilogo.InitDir = C:\Mis documentos\ La siguiente sentencia establece como directorio inicial, la ruta de acceso de la

    aplicacin. Dilogo.InitDir = App.Path DialogTitle Esta propiedad permite especificar un ttulo que se muestra en la barra de titulo del

    cuadro de dilogo. Si no se especifica un titulo se utilizar el titulo por defecto.

    8.2.2 Indicadores.- Abierto el cuadro de dilogo, ste actuar de una u otra forma dependiendo de una serie de indicadores, que el programador facilitar utilizando la propiedad Flags. Para activar varios indicadores en la propiedad Flags, se debe combinar sus valores mediante el operador lgico Or. Constante Descripcin cdIOFNReadOnly Activa la opcin Abrir como slo lectura ubicada en la parte inferior del

    cuadro de dilogo. cdIOFNHideReadOnly Oculta la opcin Abrir como slo lectura. cdIOFNFileMustExit Muestra un mensaje de advertencia si el usuario introduce un nombre de

    archivo inexistente. cdIOFNPathMustExit Muestra un mensaje de advertencia si el usuario introduce una ruta de

    acceso inexistente. cdIOFNNochangeDir Impide que el usuario cambie el directorio actual. Usar este indicador para

    forzar al usuario a guardar los archivos en una determinada carpeta. cdIOFNCreatePrompt Muestra un mensaje al usuario preguntando si desea crear un archivo que

    no existe. cdIOFNAllowMultiselect Permite la seleccin de varios archivos en el cuadro de dilogo Abrir. El

    usuario puede seleccionar ms de un archivo manteniendo presionada la tecla Shift y usando las teclas del cursor. Al hacer clic en Aceptar, la propiedad FileName contendr una cadena con los nombres de los archivos seleccionados, separados por espacios.

    cdIOFNExtensionDiferent Indica que el usuario utiliz una extensin diferente a la extensin especificada en la propiedad DefaultExt.

    cdIOFNExplorer Muestra una ventana similar al del Explorador. cdIOFNOverwritePrompt Muestra un mensaje preguntando al usuario si desea sobrescribir en caso

    que el archivo seleccionado en el dilogo Guardar como exista. cdIOFNLongNames Permite utilizar nombres de archivo largos. cdIOFNNoValidate Normalmente el cuadro de dilogo Abrir valida los nombres de los

    archivos. Este indicador se activa para saltar este paso de validacin. cdIOFNNoLongNames No permite utilizar nombres de archivos largos. cdIOFNHelpButton Muestra el botn Ayuda en el cuadro de dilogo. cdIOFNNoDeferenceLinks No quita la referencia de vnculos. Por defecto, elegir un vnculo hace que

    se quite la referencia. cdIOFNNoReadOnlyReturn Inhabilita la seleccin de archivos con el atributo de Slo lectura y que no

    estn en una carpeta protegida contra escritura.

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 4 de 19

    8.3 El Cuadro de Dilogo Fuente.- Este cuadro de dilogo ser de mucha utilidad si la

    aplicacin que se est diseando trabaja con texto. Permite al usuario seleccionar una fuente, tamao o estilo de fuente y algunos efectos especiales como color, subrayado o tachado. El cuadro de dilogo Fuente proporciona al usuario las fuentes que hay en la computadora.

    Una vez cerrado el cuadro de dilogo, el control CommonDialog devuelve los atributos de la fuente seleccionada por medio de las siguientes propiedades: Propiedad Descripcin

    FontName Devuelve el nombre de la fuente seleccionada. FontBold Ser True si tiene puesto el atributo Negrita. FontItalic Ser True si tiene puesto el atributo Cursiva. FontStrikethru Tendr el valor True si se seleccion el efecto Tachado. Asignar la constante

    CFEffects a la propiedad Flags para usar este efecto. FontUnderline Tendr el valor True si se seleccion el efecto Subrayado. Asignar la constante

    CFEffects a la propiedad Flags para usar este efecto. FontSize Devuelve el tamao de la fuente seleccionada. Color Devuelve el color seleccionado. Asignar la constante CFEffects a la propiedad

    Flags para usar este efecto.

    Las propiedades anteriores servirn para conocer la seleccin que ha efectuado el usuario. Tambin se puede dar un valor inicial antes de llamar al cuadro de dilogo Fuente, de tal forma que aparezcan seleccionadas por defecto las caractersticas que se indiquen. 8.3.2 Indicadores.- Por medio de la propiedad Flags se puede utilizar uno o varios indicadores, mediante los cuales el cuadro de dilogo sabr qu tipos de letra puede seleccionar el usuario y qu acciones adicionales deber llevar a cabo. La siguiente tabla muestra estos indicadores: Constante Descripcin

    cdICFTTOnIy Hace que el cuadro de dilogo muestre slo fuentes True Type. cdICFScreenFonts Hace que el cuadro de dilogo muestre slo las fuentes disponibles para la

    pantalla. cdICFPrinterFonts Hace que el cuadro de dilogo muestre slo fuentes disponibles para

    impresora. cdICFBoth Hace que el cuadro de dilogo muestre fuentes de pantalla y de impresora. cdICFScalableOnly Hace que en el cuadro de dilogo slo aparezcan fuentes escalables. cdICFFixedPitchOnly Hace que el cuadro de dilogo muestre slo fuentes de espaciado fijo. cdICFEEffects Permite usar las opciones de color, tachado y subrayado.

    cdICFNoFaceSel No seleccionar los nombres de fuentes.

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 5 de 19

    cdICFNoSizeSel No seleccionar el tamao de fuentes. cdICFNoStyleSel No seleccionar ningn estilo. cdICFHelpButton Muestra el botn Ayuda en el cuadro de dilogo.

    8.4 El cuadro de dilogo Imprimir.- Este cuadro de dilogo permite al usuario elegir la impresora, el tamao del papel, el nmero de copias que se desea imprimir y qu pginas se van a imprimir.

    Luego de que el usuario haya elegido la impresora y haya hecho clic sobre el botn Aceptar, el control CommonDialog devuelve al programa el nombre de la impresora y los atributos de impresin a travs de las siguientes propiedades: Propiedad Descripcin

    Copies (Copias) Especifica el nmero de copias que se van a imprimir. FromPage (Desde la pgina) Especifica la pgina en la que comenzar la impresin ToPage (Hasta la pgina) Especifica la pgina en la que se detendr la impresin HDC Especfica el contexto del dispositivo de la impresora seleccionada PrinterDefault Asignar el valor True a esta propiedad y la nueva impresora

    seleccionada por el usuario pasar a ser la impresora por defecto

    Dependiendo de los indicadores que se activen en la propiedad Flags, el cuadro de dilogo Print actuar de una forma u otra. 8.4.1 Indicadores Constante Descripcin

    cdIPDAIIPages Devuelve o establece el estado de la opcin Todo. cdIPDPageNums Devuelve o establece el estado de la opcin Pginas. cdIPDNoPageNums Desactiva el botn de opcin Pginas. cdIPDSelection Devuelve o establece el estado de la opcin Seleccin. cdIPDNoSelection Desactiva el botn de opcin Seleccin. cdIPDDisablePrintToFile Desactiva la casilla de activacin Imprimir en un archivo. cdIPDHldePrintToFile Oculta la Casilla de activacin Imprimir en un archivo. cdIPDPrintToFile Devuelve o establece el estado de la casilla de activacin Imprimir en un

    archivo. cdIPDCollate Devuelve o establece el estado de la casilla de activacin Intercalar

    copias. cdIPDPrintSetup El sistema presenta directamente el cuadro de dilogo Configurar

    impresora. cdIPDUseDevModeCopies Desactiva Nmero de copias si la impresora no soporta la impresin de

    mltiples copias.

    8.5 El Cuadro de Dilogo Color.- Este cuadro de dilogo permite que el usuario seleccione

    un color de una paleta o definir un color personalizado a partir de los componentes rojo,

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 6 de 19

    verde y azul. El cuadro de dilogo Color slo tiene una propiedad: Color. Mediante esta propiedad se podr obtener el color seleccionado en tiempo de ejecucin. Asignar un color a la propiedad Color y asignar la constante CCRGBInit en la propiedad Flags para que cuando se abra el cuadro de dilogo, aparezca seleccionado un color inicial. El cuadro de dilogo Color muestra slo algunos colores, pero el usuario puede definir un nuevo color haciendo clic en el botn Definir colores personalizados.

    8.5.1 Indicadores Constante Descripcin

    cdCCFullOpen Muestra todo el cuadro de dilogo, incluyendo la seccin Definir colores personalizados que aparece en la parte derecha del cuadro.

    cdCCPreventFullOpen Impide que el usuario acceda a la seccin Definir colores personalizados. cdCCRGBInit Establece el valor inicial del color, cuando se abre el cuadro de dilogo.

    8.6 Creacin de un Mini Editor.- Se crear un mini editor. Al ejecutar esta aplicacin, la

    interfaz de usuario deber presentar una barra de mens con las opciones Archivo, Edicin y Formato; una barra de herramientas con botones de acceso directo y una barra de estado. El men Archivo deber contener comandos que permitan crear, abrir, guardar e imprimir archivos. El men Edicin, comandos que permitan copiar, cortar y pegar texto. El men Formato, un comando que permita aplicar estilos de fuente al texto seleccionado. Una barra de herramientas, como se sabe, presenta un conjunto de botones que permiten ejecutar los comandos ms comnmente utilizados; de manera que, la barra de herramientas de nuestro mini editor presentar botones que permitirn crear, abrir, guardar e imprimir archivos, as como tambin, copiar, cortar y pegar texto. La barra de estado presentar tres paneles: el primer panel mostrar un mensaje relacionado con la accin que estemos realizando; el segundo mostrar el texto MAYUS en negrita si la tecla Caps Lock est activa y atenuada si no lo est; el tercer panel mostrar la hora. Aspecto de la interfaz de usuario al ejecutar el programa MiniEditor.

    Seguir estos pasos:

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 7 de 19

    1. Hacer clic en la opcin Nuevo proyecto del men Archivo para crear un nuevo proyecto. 2. Hacer clic sobre el formulario para seleccionarlo. 3. Hacer clic sobre el botn Editor de mens para visualizar el cuadro de dilogo Editor de

    mens. Crear la barra de mens segn el siguiente detalle: Caption Name Shortcut

    &Archivo Archivo ....&Nuevo ArchivoNuevo Ctrl+N ....&Abrir ArchivoAbrir Ctrl+A ....- LneaSeparadoral ....&Guardar ArchivoGuardar Ctrl+G ....- LneaSeparadora2 ....&Imprimir ArchivoImprimir Ctrl+I ....- LneaSeparadora3 ....&Salir ArchivoSalir Ctrl+S &Edicin Edicin ....&Copiar EdicinCopiar Ctrl+C ....C&ortar EdicinCortar Ctrl+O ....&Pegar EdicinPegar Ctrl+P &Formato Formato ....&Fuente FormatoFuente Ctrl+F

    4 Si el cuadro de herramientas no est activo, hacer clic en el botn Cuadro de herramientas

    5 Poner sobre el formulario una caja de texto. Para ello, hacer doble clic sobre el control TextBox en el cuadro de herramientas.

    Guardar el proyecto con el nombre MiniEditor.Vbp y el formulario con el nombre MiniEditor.Frm. Cambiar las propiedades de los controles Form y TextBox como sigue: Control Propiedad Valor

    Form Name Forml Caption Mi Editor Icon C:\Grficos\Note14.icon TextBox Name Text1 Multiline True ScrollBars 3-Both Text (Texto)

    Crear la barra de herramientas. Para ello, colocar un control ImageList en el formulario. Si el cono del control ImageList no aparece en el cuadro de herramientas, hacer clic en la opcin Componentes del men Proyecto. En el cuadro de dilogo Componentes, habilitar la opcin Microsoft Windows Common Controls 6.0 y hacer clic en Aceptar. 1 En el cuadro de herramientas, hacer doble clic en el cono del control ImageList. Este

    aparece en el centro del formulario. 2 En el formulario, situar el puntero del mouse sobre el control ImageList y hacer clic con el

    botn derecho del mouse. 3 En el men emergente que aparece, seleccionar la opcin Propiedades. Visual Basic

    muestra el cuadro de dilogo Pginas de propiedades. 4 Este cuadro presenta tres pestaas: General, Imgenes y Color. En la pestaa General

    indique la altura y ancho de los iconos que se incluirn en la barra de herramientas. Esta propiedad es de slo lectura si la barra de herramientas contiene imgenes

    5 Seleccionar la pestaa Imgenes para elegir las imgenes que se insertarn en la barra de herramientas.

    6 Hacer dic en el botn Insertar Imagen y Visual Basic visualizar el cuadro de dilogo Seleccionar imagen, desde el cual se podr seleccionar la imagen que se incluir en la

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 8 de 19

    barra de herramientas.

    7 Continuar haciendo clic en este botn hasta completar las imgenes restantes, finalmente

    hacer clic en el botn Aceptar. 8 En el cuadro de herramientas, hacer doble clic en el cono del control ToolBar para incluir

    una barra de herramientas en el formulario. 9 Hacer clic con el botn derecho del mouse sobre la barra de herramientas y en el men

    emergente que aparece, seleccionar la opcin Propiedades.

    Al hacer clic en la opcin Propiedades, Visual Basic muestra el cuadro de dilogo

    Pginas de propiedades.

    Establecer las siguientes propiedades:

    Propiedad Valor ImageList ImageList1 Appearance 1-cc3D Style 1-tbrFlat

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 9 de 19

    Seleccionar la pestaa Botones y hacer clic en el botn Insertar botn. En Key, ingresar un nombre que despus se utilizar en el programa. En ToolTipText, ingresar un texto descriptivo que servir de ayuda al situar el puntero sobre el botn, en la barra de herramientas; en Image ingresar un nmero que corresponda al orden o nmero de la imagen a mostrar. Nombre Index Key ToolTipText Image Enables Imagenl 1 BotnNuevo Nuevo 1 Imagen2 2 BotnAbrir Abrir 2 Imagen3 3 BotnGuardar Guardar 3 Imagen4 4 BotnImprimir Imprimir 4 Imagen5 5 BotnCopiar Copiar 5 Deshabilitado Imagen6 6 BotnCortar Cortar 6 Deshabilitado Imagen7 7 BotnPegar Pegar 7

    Dado que la barra de herramientas tendr siete botones, hacer clic en el botn Insertar botn siete veces y establecer las propiedades mostradas en el cuadro anterior.

    Luego de ingresar todas las propiedades para cada uno de los botones que aparecern en la barra de herramientas, hacer clic en Aceptar. La interfaz de usuario tendr aspecto de la figura mostrada:

    Ahora, proceder a insertar un control StatusBar en el formulario. 1. En el cuadro de herramientas, hacer doble clic en el cono del control StatusBar. Una

    barra de estado aparece en la parte inferior del formulario.

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 10 de 19

    2. En el formulario, desplazar el puntero del mouse sobre la barra de estado y hacer clic con

    el botn derecho del mouse. En el men emergente que aparece, seleccionar la opcin Propiedades. Visual Basic visualiza el cuadro de dilogo Pginas de propiedades:

    Seleccionar la pestaa Paneles y hacer clic en el botn Insertar panel. En Minimun Width ingresar el ancho del panel. Hacer clic en el botn Examinar y Visual Basic visualizar el cuadro de dilogo Seleccionar imagen desde el cual podr seleccionar una imagen para el panel. Ingresar los siguientes valores para cada uno de los paneles: Panel Index MinimumWidth Picture Panel 1 1 1800 C:\Graficos\Nota.bmp Panel 2 2 1440 C:\Graficos\Mano_tecla.bmp Panel 3 3 144000 C:\Graficos\Relojl .bmp

    3. Finalmente, hacer clic en el botn Aceptar. Para finalizar el diseo de la interfaz, insertar un control CommonDialog en el formulario. Para ello, hacer doble clic sobre el cono del Control CommonDialog en el cuadro de herramientas. Si este control no aparece en el cuadro de herramientas, seleccionar la opcin Componentes del men Proyecto. En el cuadro de dilogo Componentes, habilitar la opcin Microsoft Common Dialog Control 6.0 y hacer clic en Aceptar. Luego de disear la interfaz de usuario, asociar un procedimiento al formulario. Cuando el usuario inicie el programa, este procedimiento se ejecutar de manera automtica. 1. Hacer doble clic en el formulario para visualizar la ventana de cdigo. 2. Digitar el siguiente cdigo: Option Explicit 'La variable Modificado permitir saber si hubo alguna modificacin en el archivo Public Modificado, rpta As Boolean 'La variable Canal servir para obtener un nmero de canal libre

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 11 de 19

    Public Canal As Integer Private Sub Form_Load() Dim i As Integer 'Centra el formulario en la pantalla Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2 'Establece el ttulo de la ventana Caption = "Mi Editor" 'Establece que el texto que se escriba sea de tipo arial Text1.FontName = "Arial" 'Establece que por defecto 10 sea el tamao del texto Text1.FontSize = 10 'Desactiva la opcin Copiar del men Edicin EdicinCopiar.Enabled = False 'Desactiva la opcin Cortar del men Edicin EdicinCortar.Enabled = False 'Activa/desactiva la opcin Pegar del men Edicin segn el portapapeles si contiene o no texto EdicinPegar.Enabled = (Len(Clipboard.GetText()) > 0) 'Desactiva la opcin Fuente del men Formato FormatoFuente.Enabled = False 'Habilita/deshabilita botn pegar de barra herramientas segn el portapapeles si contiene o no texto Toolbar1.Buttons(7).Enabled = (Len(Clipboard.GetText()) > 0) 'Asigna el estado de la tecla Caps Lock (Bloqueo Mays) al panel 2 de la barra de estado StatusBar1.Panels(2).Style = sbrCaps Asigna la hora del sistema al panel 3 de la barra de estado StatusBar1.Panels(3).Style = sbrTime End Sub

    Asociar un procedimiento al formulario accionado por el suceso Resize. Cuando el usuario redimensione el formulario, el procedimiento redimensionar el control Text1 1. Hacer doble clic en el formulario para visualizar la ventana de cdigo. 2. Desplegar el cuadro de lista procedimientos y seleccionar el suceso Resize. La ventana

    de cdigo abre el procedimiento Form_Resize. 3. Digitar el siguiente cdigo: Private Sub Form_Resize() Text1.Top = 440 Text1.Left = 0 Text1.Width = ScaleWidth Text1.Height = ScaleHeight - 740 End Sub

    Digitar un procedimiento para cada una de las opciones de los mens Archivo, Edicin y Formato. En el formulario, abrir el men Archivo y hacer clic en la opcin Nuevo. En la ventana de cdigo aparece el procedimiento ArchivoNuevo_Click. En este procedimiento escribir el comando Call Nuevo: Private Sub ArchivoNuevo_Click() Call Nuevo Llama al procedimiento Nuevo End Sub

    Proceder de modo similar para las opciones Abrir, Guardar, Imprimir, Salir, Copiar, Cortar, Pegar y Fuente. Private Sub ArchivoAbrir_Click() Call Abrir Llama al procedimiento Abrir. End Sub Private Sub ArchivoGuardar_Click() Call Guardar Llama al procedimiento Guardar.

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 12 de 19

    End Sub Private Sub ArchivoImprimir_Click() Call Imprimir Llama al procedimiento Imprimir. End Sub Private Sub ArchivoSalir_Click() End Termina la ejecucin del programa. End Sub Private Sub EdicinCopiar_Click() Call Copiar Llama al procedimiento Copiar End Sub Private Sub EdicinCortar_Click() Call Cortar Llama al procedimiento Cortar End Sub Private Sub EdicinPegar_Click() Call Pegar Llama al procedimiento Pegar End Sub Private Sub FormatoFuente_Click() Call Fuente Llama al procedimiento Fuente End Sub

    Nota: Call transfiere el control a un procedimiento Sub o a un procedimiento Function. Asociar un procedimiento a la barra de herramientas. En el formulario, hacer doble clic sobre la barra de herramientas. La ventana de cdigo abre el procedimiento Toolbar1_ButtonClick. Digitar el siguiente cdigo: Private Sub Toolbar1_ButtonClick(ByVal Button As MSConnect1Lib.Button) Select Case Button.Key Case "BotnNuevo" Call Nuevo Case "BotnAbrir" Call Abrir Case "BotnGuardar" Call Guardar Case "BotnImprimir" Call Imprimir Case "BotnCopiar" Call Copiar Case "BotnCortar" Call Cortar Case "BotnPegar" Call Pegar End Select End Sub

    Digitar el cdigo de los procedimientos Nuevo, Abrir, Guardar, Imprimir, Copiar, Cortar y Pegar. Public Sub Nuevo() 'Procedimiento para editar un nuevo archivo y guardar las modificaciones realizadas en el mismo If Modificado Then rpta = MsgBox("Desea guardar los cambios realizados en el documento?", vbYesNo, "Mi Editor") If rpta = vbNo Then Exit Sub Else Call Guardar End If End If

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 13 de 19

    Form1.Caption = "(Sin ttulo)" Text1.Text = " " 'Borra el contenido actual del cuadro de texto Text1 Text1.FontName = "Arial" 'Establece la fuente de tipo arial Text1.FontSize = 10 'Establece el tamao de la fuente Text1.FontBold = False 'Desactiva la propiedad FontBold (Negrita) Text1.FontItalic = False 'Desactiva la propiedad FontItalic (Cursiva) Text1.FontUnderline = False 'Desactiva la propiedad FontUnderline(Subrayado) Text1.FontStrikethru = False 'Desactiva la propiedad FontStrikethru(Tachado) Text1.ForeColor = RGB(0, 0, 0) 'Establece un color (negro) para el texto Modificado = False 'Desactiva el indicador de Modificado End Sub Public Sub Abrir() 'Procedimiento para abrir un archivo de texto Dim Cadena1, Cadena2 As String Dim Nmero1, Nmero2 As Long Dim Estado1, Estado2, Estado3, Estado4 As Boolean 'Guarda las modificaciones realizadas en el archivo If Modificado Then rpta = MsgBox("Desea guardar los cambios realizados en el documento?", vbYesNo, "Mi Editor") If rpta = vbNo Then Exit Sub Else Call Guardar End If End If On Error GoTo ManipularErrorAbrir 'Si ocurre un error, ejecutar ManipularErrorAbrir 'Muestra un mensaje en el primer panel de la barra de estado StatusBar1.Panels(1).Text = "Abriendo archivo" 'Fijar las propiedades necesarias With CuadroDeDilogo .CancelError = Trae 'Generar un error cuando pulse cancelar en dilogo abrir .Filter = "Archivo de texto|*.txt|Todos los archivos|*.*" 'Filtros .FilterIndex = 2 'Filtro por defecto .DefaultExt = "Txt" 'Extensin por defecto que se aadir al nombre del archivo .Flags = cdlOFNFileMustExist 'El usuario solo podr introducir nombres de archivos existentes .ShowOpen 'Visualiza el cuadro de dilogo Abrir Canal = FreeFile 'Obtiene un nmero de canal libre Open .FileName For Input As Canal Form1.Caption = .FileName 'Muestra el nombre del archivo en la barra de ttulo del formulario End With Text1.Text = " " 'Borra el texto actual del control Te xt1 Input #Canal, Cadena1, Cadena2, Nmero1, Estado1, Estado2, Estado3, Estado4, Nmero2 With Text1 .Text = Cadena1 .FontName = Cadena2 .FontSize = Nmero1 .FontBold = Estado1 .FontItalic = Estado2 .FontUnderline = Estado3 .FontStrikethru = Estado4 .ForeColor = Nmero2 End With Close #Canal 'Cierra el archivo

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 14 de 19

    StatusBar1.Panels(1).Text = " " 'Borra el mensaje del primer panel de la barra de estado Modificado = False 'Desactiva el indicador de modificado Exit Sub ManipularErrorAbrir: If Err.Number = 32755 Then StatusBar1.Panels(1).Text = " " Exit Sub Else MsgBox "Error desconocido al abrir el archivo" End If End Sub Public Sub Guardar() 'Procedimiento para guardar un archivo de texto On Error GoTo ManipularErrorGuardar StatusBar1.Panels(1).Text = "Guardando archivo" With CuadroDeDilogo .CancelError = True .DefaultExt = "txt" .Filter = "Texto|*.txt|Todos los archivos|*.*" 'Muestra un mensaje preguntando si desea sobreescribir el archivo .Flags = cdlOFNOverwritePrompt .ShowSave 'Muestra el cuadro de dilogo Guardar como Canal = FreeFile Open .FileName For Output As #Canal Form1.Caption = .FileName End With 'Escribir en el archivo los datos necesarios With Text1 Write #Canal, .Text, .FontName, .FontSize, .FontBold, .FontItalic, .FontUnderline, .FontStrikethru, .ForeColor End With Close #Canal StatusBar1.Panels(1).Text = " " Modificado = False Exit Sub ManipularErrorGuardar: If Err.Number = 32755 Then StatusBar1.Panels(1).Text = " " Exit Sub Else MsgBox "Error desconocido al guardar el archivo" End If End Sub Public Sub Imprimir() 'Procedimiento para imprimir el aspecto actual del formulario Dim copias As Byte On Error GoTo ManipularErrorImprimir StatusBar1.Panels(1).Text = "Imprimiendo archivo" With CuadroDeDilogo .CancelError = True .Flags = cdlPDNoSelection Or cdlPDNoPageNums Or cdlPDHidePrintToFile .PrinterDefault = True .ShowPrinter 'Muestra el cuadro de dilogo Imprimir

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 15 de 19

    copias = .Copies End With Printer.Copies = copias 'Fijar el nmero de copias Printer.Font = Text1.Font 'Tomar el estilo de texto Printer.Print Text1.Text 'Imprimir el texto actual Printer.EndDoc 'Fin de impresin StatusBar1.Panels(1).Text = " " Exit Sub ManipularErrorImprimir: If Err.Number = 32755 Then StatusBar1.Panels(1).Text = " " Exit Sub Else MsgBox "Error desconocido" End If End Sub Public Sub Copiar() 'Una copia del texto seleccionado en el cuadro de texto Text1 pasa al portapapeles (Clipboard) Clipboard.SetText Text1.SelText EdicinPegar.Enabled = Trae 'Activa la opcin Pegar del men Edicin Toolbar1.Buttons(7).Enabled = Trae 'Activa el boton Pegar de la barra de erramientas End Sub Public Sub Cortar() 'Una copia del texto seleccionado en el cuadro de texto Text1 pasa al portapapeles (Clipboard) Clipboard.SetText Text1.SelText Text1.SelText = "" 'Borra el texto seleccionado EdicinCopiar.Enabled = False 'Inhabilita la opcin Copiar del men Edicin EdicinPegar.Enabled = Trae 'Habilita la opcin Pegar del men Edicin FormatoFuente.Enabled = False 'Inhabilita la opcin Fuente del men Formato Toolbar1.Buttons(5).Enabled = False 'Inhabilita el boton Copiar de la barra de herramientas Toolbar1.Buttons(6).Enabled = False 'Inhabilita el boton Cortar de la barra de herramientas Toolbar1.Buttons(7).Enabled = True 'Habilita el boton Pegar de la barra de herramientas End Sub Public Sub Pegar() 'Transfiere texto desde el portapapeles hacia el cuadro de texto Text1 Text1.SelText = Clipboard.GetText() End Sub Public Sub Fuente() 'Procedimiento que modifica el estilo del texto On Error GoTo ManipularErrorFuente StatusBar1.Panels(1).Text = "Aplicando estilo" With CuadroDeDilogo .CancelError = True FontName = Text1.FontName 'Fijar el estilo actual en el cuadro de dilogo .FontSize = Text1.FontSize .FontBold = Text1.FontBold .FontItalic = Text1.FontItalic .FontUnderline = Text1.FontUnderline .FontStrikethru = Text1.FontStrikethru .Color = Text1.ForeColor .Flags = cdlCFBoth Or cdlCFEffects ShowFont 'Muestra el cuadro de dilogo Fuente Text1.FontName = .FontName 'Aplica al cuadro de texto Text1 el estilo elegido

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 16 de 19

    Text1.FontSize = .FontSize Text1.FontBold = .FontBold Text1.FontItalic = .FontItalic Text1.FontUnderline = .FontUnderline Text1.FontStrikethru = .FontStrikethru Text1.ForeColor = .Color End With StatusBar1.Panels(1).Text = " " Exit Sub ManipularErrorFuente: If Err.Number = 32755 Then StatusBar1.Panels(1).Text = " " Exit Sub Else MsgBox "Error desconocido" End If End Sub

    Asociar un procedimiento al formulario accionado por el suceso Unload. Cuando el usuario finalice el programa, este procedimiento guardar las modificaciones realizadas en el texto Private Sub Form_Unload(Cancel As Integer) If Modificado Then rpta = MsgBox("Desea guardar los cambios realizados en el documento?", vbYesNo, "Mi Editor") If rpta = vbNo Then Exit Sub Else Call Guardar End If End If End Sub

    Asociar un procedimiento al cuadro de texto Text1 accionado por el suceso Change. Cuando el usuario realice alguna modificacin en el cuadro de texto Textl, este procedimiento activar la variable Modificado. 1. Hacer doble clic en el cuadro de texto Text1. La ventana de cdigo muestra el

    procedimiento Text1_Change. 2. Digitar el siguiente cdigo: Private Sub Text1_Change() Modificado = True End Sub

    Asociar un procedimiento al cuadro de texto Text1 accionado por el suceso MouseUp. 1. Hacer doble en el cuadro de texto Text1 2. Desplegar el cuadro de lista Procedimientos y seleccionar el suceso MouseUp. La

    ventana de cdigo abre el procedimiento Text1_MouseUp. 3. Digitar el siguiente cdigo: Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Habilita/Inhabilita el botn Copiar si Seleccion/No seleccion texto en el cuadro de texto Text1. Toolbar1.Buttons(5).Enabled = (Text1.SelLength > 0) 'Habilita/Inhabilita el botn Cortar si Seleccion/No seleccion texto en el cuadro de texto Text1. Toolbar1.Buttons(6).Enabled = (Text1.SelLength > 0) 'Habilita/Inhabilita la opcin Copiar del men Edicin si Seleccion/No seleccion 'texto en el cuadro de texto Text1. EdicinCopiar.Enabled = (Text1.SelLength > 0)

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 17 de 19

    'Habilita/Inhabilita la opcin Cortar del men Edicin si Seleccion/No seleccion 'texto en el cuadro de texto Text1. EdicinCortar.Enabled = (Text1.SelLength > 0) 'Habilita/Inhabilita la opcin Fuente del men Formato si Seleccion/No seleccion 'texto en el cuadro de texto Text1. FormatoFuente.Enabled = (Text1.SelLength > 0) End Sub

    8.7 Creacin de un Programa que Visualiza Imgenes.- Crear un programa que permita visualizar imgenes. Al ejecutar esta aplicacin, la interfaz de usuario debe presentar dos opciones: Abrir archivo y Salir. La opcin Abrir archivo debe permitir la seleccin de un archivo de imagen y la opcin Salir finalizar la ejecucin del programa. La interfaz de usuario debe ser similar a la siguiente ilustracin:

    Observar que en este formulario hay dos etiquetas: Label1 y Label2; un control PictureBox y un control CommonDialog. Modificar las propiedades de estos controles: Control Propiedad Valor

    Form Name Form1 Caption Imgenes BorderStyle 5-Sizable ToolWindow BackColor &H80000001& Label Name Label1 AutoSize True BackStyle 0-Transparent BorderStyle 0-None Caption Abrir imagen Font Comic Sans MS ForeColor &H000000FF& Label Name LabeI2 AutoSize True BackStyle 0-Transparent BorderStyle 0-None Caption Salir Font Comic Sans MS ForeColor &H000000FF& PictureBox Name Picture1 BorderStyle 0-None Visible False

    Luego de disear la interfaz de usuario, escribir el cdigo de la aplicacin. Asociar un procedimiento al control Label1. En el formulario, hacer doble clic sobre el control Label1 En la ventana de cdigo, desplegar el cuadro de lista Procedimientos y seleccionar el suceso MouseUp. Escribir el siguiente cdigo: Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo ManipularErrorAbrir

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 18 de 19

    Picture1.Picture = LoadPicture() 'Limpia el control Picture Box CommonDialog1.CancelError = True CommonDialog1.DialogTitle = "Abrir imgenes" CommonDialog1.Filter = "Imagenes (.gif)|*.gif|Imgenes (.jpg)|*.jpg|Imgenes (.bmp)|*.bmp|Todos los archivos (*.*)|*.*" CommonDialog1.FilterIndex = 3 CommonDialog1.ShowOpen 'Muestra el cuadro de dilogo Abrir 'Inserta la imgen elegida en el control picture box Picture1.Picture = LoadPicture(CommonDialog1.FileName) Picture1.Visible = True 'Hace visible el control PictureBox Label1.ForeColor = &HFF& 'Asigna el color rojo al control Label1 Exit Sub ManipularErrorAbrir: If Err.Number = 32755 Then Exit Sub Else MsgBox "Error desconocido al abrir el archivo" End If End Sub

    Asociar un procedimiento al control LabeI2 accionado por el suceso MouseUp. Cuando el usuario suelte el botn del mouse en el control Label2, la ejecucin del programa debe finalizar. Private Sub Label2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Unload Me 'Cierra el formulario End 'Finaliza la ejecucin del programa End Sub

    Asociar un procedimiento al control Labell accionado por el suceso MouseMove. Cuando el usuario mueva el puntero del mouse sobre el control Labell, el texto que muestra este control debe cambiar de color. Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Al mover el puntero del mouse sobre el control label1 el color amarillo se asigna al control label1 Label1.ForeColor = &HFFFF& 'Color amarillo End Sub

    Asociar un procedimiento al control Label2 accionado por el suceso MouseMove. Cuando el usuario mueva el puntero del mouse sobre el control Label2, el texto que muestra este control debe cambiar de color. Private Sub Label2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Al mover el puntero del mouse sobre el control label2 el color amarillo se asigna al control label2 Label2.ForeColor = &HFFFF& 'Color amarillo End Sub

    Asociar un procedimiento al formulario accionado por el suceso MouseMove. Cuando el usuario desplace el puntero del mouse sobre el formulario, el color del texto de los controles Label debe cambiar a rojo. 1. Hacer doble clic en el formulario. 2. En la ventana de cdigo, desplegar el cuadro de lista Procedimientos y seleccionar el

    suceso MouseMove. La ventana de cdigo abre el procedimiento Form_MouseMove. 3. Digitar el siguiente cdigo: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Al mover el puntero del mouse sobre el formulario, asigna el color rojo a los controles Label1 y Label2 Label1.ForeColor = &HFF& Label2.ForeColor = &HFF& End Sub

  • Computacin para Ingeniera I y Laboratorio Cap.8Visual BasicCuadros de Dilogo Comunes

    Ing. Hermas Herrera Callejas Pgina : 19 de 19

    Asociar un procedimiento al control Picture1 accionado por el suceso Resize. Cuando el usuario modifique el tamao del control Picture1, el tamao del formulario debe cambiar en funcin del tamao del control PictureBox. 1. Hacer doble clic en el control PictureBox. 2. En la ventana de cdigo, desplegar el cuadro de lista Procedimientos y seleccionar el

    suceso Resize. La ventana de cdigo abre el procedimiento Picture1_Resize. 3. Digitar el siguiente cdigo: Private Sub Picture1_Resize() 'Redimensiona el tamao del formulario en funcin del tamao del control PictureBox Form1.Top = 0 Form1.Left = 0 Form1.Width = Picture1.Width + 360 Form1.Height = Picture1.Height + 960 End Sub

    Guardar el proyecto con el nombre Imagen.Vbp y el formulario con el nombre Imagen.Frm. Presionar la tecla F5 para ejecutar el programa. Desplazar el puntero del mouse sobre la opcin Abrir imagen (observar que Abrir imagen adopta el color amarillo) y hacer clic. En el cuadro de dilogo Abrir, seleccionar una imagen. Por ejemplo, seleccionar la imagen Imagen1 que se adjunta con las prcticas de laboratorio. Cada vez que seleccione una nueva imagen el formulario cambiar de tamao.