Zona de programación, todo lo necesario para aprender a programar

 
 
 

 

 

Visual Basic parte 2

 

1) Formulario

 

 

El primer objeto Visual Basic con que nos encontramos es el FORMULARIO. De hecho, cada vez que iniciamos Visual Basic (VB) nos presenta en pantalla un nuevo formulario, que tiene por defecto el nombre de Form1

 

El Formulario es un objeto, que sirve de soporte de otros objetos.  El nombre de FORMULARIO lo toma precisamente porque, al igual que un formulario de papel contiene textos escritos, lugares donde podemos escribir, figuras, cajas donde podemos elegir una u otra opción, etc., en este cuadro gráfico que llamamos formulario, podemos introducir textos escritos, lugares donde podemos escribir, figuras, cajas donde podemos elegir una u otra opción ....

 

 

En realidad un formulario es lo que normalmente conocemos por VENTANA. El nombre de formulario le viene muy bien cuando ese formulario es una ventana donde vamos a introducir datos alfanuméricos. Cuando en vez de introducir datos, lo que tenemos es, por ejemplo, una ventana donde se reproducen exactamente los controles de operación de una máquina, parece en principio que sería mas correcto el nombre de "ventana".  De alguna forma lo hay que llamar, y esa forma es FORMULARIO. Posiblemente a lo largo de estos apuntes nos referiremos al formulario con el nombre de ventana, o incluso, pantalla. Procuraremos usar el nombre apropiado: FORMULARIO.

Forma inicial del formulario.

Ejemplo de un formulario para una aplicación industrial. Este formulario reproduce el panel de control de un transmisor - receptor de radio. En este caso, parece que el nombre de ventana le viene mejor que el de formulario. Observe que dentro del formulario existen gran cantidad de objetos. Botones, que hacen la misma función que el botón real en el equipo de radio, y un par de displays, que muestran un texto, en este caso las frecuencias de transmisión y recepción.

Como cualquier objeto Visual Basic, un formulario tiene propiedades y procedimientos:

 

PROPIEDADES.

 

Name              Nombre

 

Define al objeto durante la ejecución del programa. Se introduce en tiempo de diseño y no se puede variar durante la ejecución. Nombre por defecto: Form1  (Form2  y sucesivos)   Este nombre por defecto debe cambiarse, (debería cambiarse por norma en el momento de introducir el formulario), ya que de no hacerlo corremos el riesgo de borrar el código existente de otro formulario del mismo nombre en el momento de guardar la aplicación.

 

Caption           Título

 

Es el texto que aparecerá en la barra de Título cada vez que aparezca en pantalla este formulario. No tiene otra función dentro del programa. El programa no accede a este formulario por el título, sino por el nombre.   Puede cambiarse en tiempo de ejecución.

                       

                                   NOTA.- No confundir Nombre (Name) con Título (Caption)

 

 

 

Control Box     Control “menos” del Formulario              Valor por defecto : True

 

Propiedad booleana que admite los valores de true (verdadero) o False (Falso). Si esta propiedad es True, aparecerá en la esquina superior izquierda el "menos" para desplegar el menú de control de este formulario. Si esta propiedad se pone como False, no existirá dicho "menos" y por tanto no se puede desplegar dicho menú.

 

MinButton                              

MaxButton                              Valor por defecto: True

 

Botones (flechas) de minimizar y maximizar este formulario. Son igualmente propiedades booleanas, que admiten el valor True o False. Si están en true, aparecerá la flecha correspondiente. Si están en False, no aparecerá dicha flecha. Deben configurarse de una u otra forma, dependiendo si se quiere minimizar / maximizar este formulario durante la ejecución.

 

Nota.  En los formularios MDI child, es necesario poner a true las propiedades ControlBox, MinButton y MaxButton para poder maximizar el formulario hijo. De no ponerlas a true, sí se pretende maximizar el formulario hijo,  (Propiedad WindowState=2) el formulario no aparece.

 

BorderStyle     Tipo de borde   

 

Define el tipo de borde que tendrá el formulario durante la ejecución. No se puede cambiar en tiempo de ejecución,

                        Admite los siguientes valores:

 

                        0 - None    El formulario no tiene borde alrededor

 

                        1 - Fixed Single  

El formulario tendrá un borde fino, y no podrá cambiarse su tamaño durante el tiempo de ejecución. Con este valor, el formulario puede tener un menú de control, barra de título y botones de maximizar y minimizar. Solo podrá cambiarse de tamaño utilizando estos botones.

2-Sizable 

El formulario tendrá borde grueso, y se podrá cambiar su tamaño en tiempo de ejecución mediante los botones de maximizar y minimizar, y mediante el arrastre de uno de los bordes con el ratón.

 

                        3 - Fixed Dialog  

El formulario tendrá borde grueso, y no se podrá redimensionar durante la ejecución. No puede tener los botones de maximizar ni minimizar.

 

                        4 - Fixed ToolWindow

En las versiones de 16 bits de Windows y Windows NT 3.51 y anteriores se comporta como Fixed Single. No puede cambiar de tamaño. En Windows 95 muestra el botón Cerrar, y el texto de la barra de titulo aparece con un tamaño de fuente reducido. El formulario no aparece en la barra de tareas de W95.

 

                        5 - Sizable ToolWindow  

En las versiones de 16 bits se comporta como Sizable. En W95 muestra el botón Cerrar y el texto de la barra de titulo aparece con un tamaño de fuente reducido. El formulario no aparece en la barra de tareas de W95.

 

                        Valor por defecto:  2 . Sizable

 

Nota: Al cambiar a determinados valores, las propiedades MaxButton y MinButton se ponen a False. Pueden cambiarse a True posteriormente.

 

Appearance    Apariencia        Valor por defecto:  3D

 

Admite los valores 0 (=Flat,  plano) y 1  (=3D) Si tiene el valor 1  (3D), el formulario aparecerá con cierto efecto tridimensional, y los controles que le introduzcamos a este formulario aparecerán como esculpidos dentro de él. Con valor 0 (Flat)  en esta propiedad, el formulario aparecerá durante la ejecución como una superficie plana. El color de fondo se ve afectado al cambiar esta propiedad. Si se cambia a 3D, el fondo (Backcolor) toma el color definido en Windows en el Panel de Control. Si se cambia a Flat, toma el color blanco

 

Autoredraw                             Valor por defecto: False

 

Propiedad booleana. Esta propiedad, estando en True, permite actualizar el contenido del formulario y de sus controles incluso cuando no están visibles. Imaginemos que en este formulario existe un texto, una etiqueta (Label) o caja de texto (Text Box) cuyo texto se haya cambiado, bien por programa, bien por una entrada, mientras este formulario no estaba visible. Lo mismo podemos decir de las propiedades de cualquier otro control. Si esta propiedad Autoredraw está en False, al hacer visible este formulario, aparecerá igual que cuando se ocultó. Si esta propiedad está en True, aparecerá actualizado.

 

Backcolor        Color del fondo 

 

Establece el color del fondo del formulario. Puede cambiarse en tiempo de ejecución.

 

            Valor por defecto: El establecido en el Panel de Control de Windows.

 

ClipControls                            Valor por defecto: False

 

Propiedad Booleana. Establece si un evento Paint vuelve a dibujar el objeto entero (True) o si solamente dibujan las partes que han sufrido cambios (False)

 

DrawMode

 

Establece un valor que determina el aspecto de la salida de un método gráfico o el aspecto de un control Shape o Line. Verá mas adelante los efectos de esta propiedad.

 

DrawStile                                Valor por defecto : 0  

 

Establece el estilo de línea de la salida de métodos gráficos:

 

                        Valores:            0 - Línea continua

                                               1 - Rayas

                                               2 - Puntos

                                               3 - Raya-Punto

                                               4 - Raya - Punto - Punto

                                               5 - Transparente

                                               6 - Continuo interior.

 

DrawWidth                              Valor por defecto: 1

 

Establece el ancho de una línea dibujada. El valor debe expresarse en pixeles.

 

Enabled           Activado           Valor por defecto: True

 

Propiedad booleana. Si está en True, el formulario está activado y se puede interactuar con él. Si está en False, se desactiva el formulario, impidiendo de esta forma, que se pueda trabajar con él.

 

ForeColor                                Valor por defecto: Negro

           

Establece el color del primer plano del formulario. Es el color que tendrán las letras si escribimos en él, o los dibujos, si lo que hacemos es dibujar. En tiempo de diseño, determina el color de la rejilla,.

 

FillStyle           Tipo de relleno   Valor por defecto: 2

 

Establece el modo de rellenar controles Shape, o figuras (círculos o cuadrados) creados con los métodos gráficos Circle y Line.

 

                        Valores:            0 - Continuo

                                               1 - Transparente

                                               2 - Línea Horizontal

                                               3 - Línea Vertical

                                               4 - Diagonal hacia arriba

                                               5 - Diagonal hacia abajo

                                               6 - Cruzado

                                               7 - Diagonal cruzada

 

FillColor                      Color de relleno

 

Especifica el color del relleno contemplado en FillStyle.

 

Font                 Tipo de letra      Valor por defecto: El determinado en la personalización.

 

Especifica el tipo y tamaño de la letra que se usará en el formulario. Al seleccionar esta propiedad en la ventana de propiedades, aparece un cuadro de dialogo donde se eligen ambos parámetros.

Cuando introduzca nuevos controles en el Formulario, la propiedad Font de estos controles tomará el valor que tenga esta propiedad en el Formulario.  Puede servirle este pequeño truco para utilizar en todos los controles una determinada fuente sin tener que teclearla para cada control.

 

FontTranparent           Texto Transparente        Valor por defecto: True

 

Establece si el texto o gráfico de fondo del formulario se muestra (True) o no se muestra entre los caracteres de texto escritos en el propio formulario.

 

FontSize                      Tamaño de letra

           

Establece el tamaño de la letra. Esta propiedad, que puede variarse en tiempo de ejecución, varía solamente el tamaño, y no el tipo de letra. El tamaño debe expresarse en puntos. Máximo, 2160 puntos.

 

FontBold, FontItalic, FontStrikethru, FontUnderline

           

Permiten, en tiempo de ejecución, cambiar un texto a negrita, cursiva, tachado y subrayado. Son propiedades booleanas True / False

 

Height             Altura               Valor por defecto: No existe

 

Define la altura del formulario. El valor de esta propiedad no se introduce normalmente como un dato numérico, sino que toma el valor automáticamente, dependiendo de las dimensiones del formulario durante el tiempo de diseño. Puede cambiarse durante el tiempo de ejecución.

 

 

HelpContextID                        Valor por defecto: 0

 

Establece un número de contexto asociado para este formulario. Este número se aplica para determinar la ayuda interactiva asociada a este formulario. Vea mas adelante, el tema Ayuda de Windows.

 

Puede tomar los siguientes valores :      0 - No se especifica número de contexto

                                                           >0 Un entero que especifique un contexto válido.

Icon                 Icono

 

Esta propiedad define el icono que va a representar a este formulario cuando esté minimizado. Si el formulario es el formulario padre o formulario de inicio de una aplicación, este icono es el que toma el Asistente de Instalación para colocarlo como icono de apertura del programa en el grupo de programas Windows correspondiente. Como valor de esta propiedad se le puede asignar directamente el icono o el nombre de un archivo (con su path correspondiente) que lo contiene, haciéndolo directamente sobre la caja de propiedades.

 

            Valor por defecto: el icono que se le haya programado en la personalización.

 

KeyPreview                            Valor por defecto: False

 

Propiedad Booleana. Cuando un formulario tiene dentro de sí varios controles, uno de ellos es el que está activo. En estas condiciones, si se pulsa una tecla,  esa pulsación la  recibe en primer lugar el control que esté activo,  y si éste no la procesa, pasa esa pulsación al formulario. Para hacer que esa pulsación pase directamente al formulario, debe ponerse esta propiedad en True.

 

Left      Borde Izquierdo             Valor por defecto: No existe

 

Indica la posición del borde izquierdo del formulario. Normalmente no se introduce como valor numérico, sino que lo toma automáticamente de la posición que tenga el formulario en el      tiempo de diseño. Puede cambiarse en tiempo de ejecución, para mover el formulario.

 

LinkMode                                Valor por defecto: 0

 

Permite que una aplicación destino inicie una conversación DDE con el formulario (origen de datos). Puede tomar los siguiente valores:

 

                        0 - No hay interacción DDE

1 - Source. Indica que este Formulario es origen de una comunicación DDE. El dato que se va a traspasar en esa comunicación DDE estará en un TextBox, en un Label o en un PictureBox de este Formulario.

 

LinkTopic

 

Establece el tema al que este formulario va a responder a una conversación DDE, cuando funciona como origen. Es por este tema por el que se debe llamar a este formulario cuando actúa de origen en una conversación DDE

 

MDIChild                                 Valor por defecto: False

 

Establece que este formulario es un formulario Hijo dentro de un formulario MDI. No se puede cambiar en tiempo de ejecución. Es una propiedad booleana

True = es formulario hijo          False =No lo es

 

 

MouseIcon                              Valor por defecto: ninguno

 

Establece un icono personalizado para el puntero del ratón cuando esté encima de este Formulario. Este icono puede ser un bit-map de los existentes en el directorio Icons de Visual Basic o cualquiera que tengamos. Si se pone 99 como valor de la propiedad MousePointer (siguiente), cada vez que el puntero del ratón pase por este Formulario, cambiará su forma y adoptará la del icono elegido.

 

MousePointer                         Valor por defecto: flecha

 

Determina la forma del puntero del ratón cuando se coloca encima del formulario. Puede elegirse uno de los punteros preestablecidos (15 en total) o el personalizado visto en la propiedad anterior. Para elegir ese icono personalizado, debemos poner en esta propiedad el valor 99.

 

Picture            Gráfico             Valor por defecto: No existe

 

Mediante esta propiedad podemos poner un gráfico como fondo del formulario. El gráfico puede ser un bit-map o un fichero .ICO

 

ScaleHeight, ScaleWidth, ScaleMode,

 

Indican la unidad de medida de dimensión de altura y anchura del Formulario. ScaleMode indica en qué unidades de medida se van a medir esas dimensiones.  Acepta Twips (1), Point(2), Pixel (3),  Character (4), Pulgadas (Inch) (5), Milímetros (6), Centímetros (7).  Si colocamos la propiedad ScaleMode  en cualquiera de estos valores, las propiedades ScaleHeight y ScaleWidth nos vendrán dadas automáticamente dependiendo del ancho del Formulario, y no se extrañe si encuentra para estas propiedades valores tan peregrinos como 4815 y  7423.  Al haber elegido la unidad de medida, los valores de ancho (ScaleWidth) y alto (ScaleHeight) serán los que tengan que ser, medidos en la unidad que hemos elegido. Podemos elegir una cifra para el ancho y el alto del Formulario de forma que podamos controlar mejor las distintas posiciones que van a ocupar en él los controles, los textos o los dibujos. Podemos poner, por ejemplo, que el Formulario mida 400 de ancho (ScaleWidth = 400) y 300 de alto (ScaleHeight = 300) forzándole estas propiedades, bien en tiempo de diseño en la caja de propiedades, o en tiempo de ejecución mediante código. Entonces sabemos que el formulario, independientemente de las dimensiones físicas que tenga sobre la pantalla, medirá 400 de ancho y 300 de alto, y si en estas condiciones queremos colocar un control o un dibujo justo en el medio del Formulario, sabemos que tenemos que colocarle en las coordenadas 200, 150. ¿Que unidad de medida estaremos utilizando entonces en el Formulario ?   Unas definidas por el usuario (distintas para el ancho y el alto) que serán las necesarias para que el Formulario mida de ancho lo que le hayamos puesto en la propiedad ScaleWidth y de alto lo que le hayamos puesto en la propiedad ScaleHeight. Observe que la propiedad ScaleMode se ha cambiado automáticamente a User (0) al introducir las dimensiones de ancho y alto que nosotros queremos.

 

Estas unidades de medida afectarán a los controles que metamos en este Formulario. Se medirán en su ancho y alto con la unidad de medida definida para el ancho y alto del Formulario. Lógicamente también afectará a las propiedades Left y Top de los controles, pero estas propiedades se verán afectadas además por las propiedades ScaleLeft y ScaleTop del Formulario que se verán a continuación.

 

ScaleLeft,  ScaleTop

 

Estas propiedades, medidas en la unidad de medida elegida para el ancho y alto mediante las propiedades ScaleMode, ScaleWidth y ScaleHeight anteriores, expresan las coordenadas iniciales de la parte izquierda y de la parte superior respectivamente del Formulario. Estas propiedades no afectan a la posición del Formulario en la pantalla (Si está maximizado seguirá ocupando toda la pantalla, si está en “Normal” ocupará el mismo sitio que se dio en tiempo de diseño).  Supongamos que se le asigna a un Formulario, las propiedades ScaleWidth = 400, y ScaleHeight = 300. Si colocamos un control justamente en el centro del Formulario tendrá sus propiedades Top =150 y Left=200. Si ponemos ahora las propiedades del Formulario ScaleLeft a 30 y ScaleTop a 10, ese control, para seguir en el centro del Formulario deberá tener sus propiedades Top a 160  (150 + 10) y Left a 230  (200 + 30). 

 

Recuerde que las medidas de un formulario crecen, desde la esquina superior izquierda, según avanzamos hacia abajo y hacia la derecha.

 

Como aclaración de las relaciones entre distintas unidades de medida, puede ver en la siguiente table la correspondencia entre cada una de ellas y la unidad imaginaria Twip.

 

1 Point=20 Twips ;  1Pixel=15 Twips :  1 Charecter=240 Twips ; 1 Inch (pulgada) =1440 Twips  1mm=56,52 Twips  1 cm=566 Twips

 

Tag                                         Valor por defecto: No existe

 

Esta propiedad no la usa directamente Visual-Basic. Sirve para asociar al formulario información adicional para fines externos a la programación. Pero también le puede servir para almacenar en ella una variable para que la use un código ajeno al formulario. El autor de estos apuntes tiene por costumbre utilizar la propiedad Tag del formulario inicial para guardar el parámetro que se le pasa a algunos programas para acceder a ellos con unos determinados privilegios.  Resumiendo, está ahí para lo que el programador quiere.

 

Top      Posición del borde superior        Valor por defecto: No existe

 

Esta propiedad establece la posición del borde superior del formulario. Normalmente no se introduce como valor numérico sino que lo toma automáticamente de la posición que tenga el  Formulario durante el tiempo de diseño Este valor puede cambiarse durante la ejecución para, conjuntamente con Left,  variar la posición del Formulario. Los valores de Top y Left definen la esquina superior izquierda del Formulario.

                                              

Visible                                                Valor por defecto:  True

 

Propiedad Booleana.  Asignándole el valor True la pantalla es visible, y asignándole el valor False, no se ve.  Este valor puede cambiarse durante el tiempo de ejecución para ocultar y hacer visible el formulario.

 

Width              Ancho                          Valor por defecto: No existe

 

Define la anchura del formulario. Normalmente no se introduce como valor numérico sino que lo toma automáticamente del tamaño que tenga el formulario durante el tiempo de diseño. Juntamente con Height define el tamaño del formulario. Puede cambiarse durante el tiempo de ejecución.

 

WindowState 

 

Establece el estado en el que aparecerá el formulario cuando se activa y presenta en pantalla. Admite tres opciones:           

0 - Normal  El formulario recupera la posición y tamaño que tenía en el tiempo de diseño.

1 - Minimizado  El formulario aparece minimizado, representado por su icono.

2 - Maximizado   El formulario aparece maximizado, ocupando toda la pantalla.

 

PROCEDIMIENTOS

 

Activate           Activación                                Click                Click

DblClick           Doble click                               Deactivate       Desactivación

DragDrop         Arrastrar y soltar                       DragOver         Arrastrar por encima

GotFocus         Obtener el foco                         KeyDown         Mantener pulsada una tecla

KeyPress         Pulsar una tecla                        KeyUp             Soltar una tecla

LinkError         Error de enlace                         LinkExecute    Ejecución de un enlace de datos

LinkOpen        Romper el enlace                      Load                Cargar el formulario

LostFocus        Perder el foco                           MouseDown    Pulsar una tecla del ratón

MouseMove     Mover el ratón (Detecta la posición del ratón sobre el formulario)

MouseUp         Soltar una tecla del ratón           Paint               Pintar

QueryUnload   Confirmación de descarga          Resize             Cambio de tamaño

Unload            Descargar el formulario

 

 

Un Formulario sirve, fundamentalmente, de contenedor de controles. Es la ventana de Windows de nuestra aplicación. Una aplicación puede tener varios Formularios y dentro de cada uno de ellos, los controles necesarios para cada paso o estado de la aplicación.

 

Un Formulario puede servir también como soporte de textos o dibujos.

 

CONTROLES

 

Una vez introducido un Formulario, se pueden colocar los objetos (controles) que forman parte de la aplicación. Estos controles se irán viendo en próximos capítulos.

 

Los controles, lo mismo que el Formulario, tienen Propiedades y Procedimientos.

 

Las Propiedades definen las características del Control. Los Procedimientos definen la forma de actuar (la forma de proceder) de un control frente a un evento.

 

Tanto las propiedades como los procedimientos deben ser definidos por el programador. Las propiedades dejan un pequeño margen de actuación, los procedimientos son en su totalidad, definidos por el programador. Estos procedimientos forman parte del programa. Podría incluso hacerse una aplicación que no tuviese mas código que el introducido en los procedimientos.

 

Para colocar un control en un Formulario, basta con “tomarlo” de la caja de herramientas existente en la parte izquierda de la pantalla de VB y llevarlo al Formulario. Si no existiese el control deseado en la caja de herramientas, deberemos ir a “cogerlo” a Controles personalizados que está en el menú desplegable Herramientas de la barra de Menú de VB. Se elige el nuevo control, marcando la caja de opción a la izquierda de su nombre, y haciendo click en ACEPTAR. Este control ya pasa a la caja de herramientas.

 

 

 

Descargar gratis los programas y compiladores necesarios para aprender a programar

 

 

  ¿Buscas algo?

Google

 

Regresar al índice de la parte 2 de visual basic

 

Regresar al índice general de visual basic

 

Regresar a la página principal