Curso de VB II

1 - Gráficos


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Sistema de coordenadas

Se utilizan coordenadas para definir la posición de cualquier objeto presentado en la pantalla. Para algunos objetos, el sistema de coordenadas también se utiliza para definir el tamaño del objeto (su altura y anchura). La posición de un objeto siempre se expresa como la distancia entre su esquina superior izquierda y la esquina superior izquierda de su objeto contenedor.

El contenedor de un formulario es siempre el objeto Screen (pantalla). La única excepción de esta regla es lo que se denomina formularios hijos MDI (Interfaz de Documentos Múltiples), cuyo contenedor es el formulario padre MDI. El contenedor de un control es siempre el formulario sobre el que está, salvo que el control esté colocado en un Picture Box o Frame, en cuyo caso el Picture Box o Frame es el contenedor. El único otro posible contenedor es el objeto Printer, que se utiliza para imprimir.

El sistema de coordenadas de Visual Basic funciona como el sistema gráfico de coordenadas cartesianas habitual. Cualquier punto se representa con dos números. Uno de ellos (tradicionalmente llamado X) indica la posición horizontal del punto, mientras que el otro número (Y) indica la posición vertical del punto. Por supuesto, un sistema de coordenadas debe tener un punto cero, u origen (el punto donde tanto X como Y es 0). También debe tener una escala que relaciona las unidades de las coordenadas con las unidades de medida. Un valor X de dos, puede significar dos centímetros, dos metros o dos kilómetros.

En todos los sistemas de coordenadas de Visual Basic, el origen por omisión se localiza en la esquina superior izquierda del contenedor. Los valores X positivos se mueven a la derecha, y los valores Y positivos hacia abajo. Las coordenadas negativas son posibles y representan posiciones por encima o a la izquierda del origen por omisión. El origen puede situarse en cualquier sitio (al menos para algunos objetos contenedores).

Una unidad lógica imprime al tamaño correcto. Por ejemplo, una línea que mide una pulgada lógica mide una pulgada cuando se imprime. Establecemos una escala del objeto contenedor utilizando la propiedad ScaleMode; sin embargo, los únicos objetos que tienen una propiedad ScaleMode son Form, Picture Box y Printer. Los otros objetos que pueden ser contenedores (el objeto Screen y el control Frame) siempre usan twips para las medidas.

Podemos usar varias escalas diferentes en las coordenadas de Visual Basic. Aunque muchos programas Visual Basic están escritos utilizando únicamente la escala por omisión, necesitamos saber las opciones.

Especificaciones de escalas en Visual Basic. (ScaleMode)

Valor 

Unidades de escala

Personalizado

Twip (por defecto); hay 1.440 twips por pulgada lógica, y 567 twips por centímetro lógico

Punto; hay 72 puntos por pulgada lógica

Pixel; ésta es la unidad más pequeña de resolución de pantalla o impresora

Carácter; una unidad carácter es igual a 120 twips horizontales, y 240 twips verticales

Pulgada

Milímetro

Centímetro


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


El objeto Screen

El objeto Screen es la representación lógica de Visual Basic de toda la pantalla de visualización. Las coordenadas de pantalla siempre se miden en twips, y la esquina superior izquierda siempre se localiza en (0, 0). El tamaño físico de la pantalla varía de un sistema a otro. Podemos obtener el tamaño de la pantalla mediante dos propiedades del objeto Screen, Width y Height.

ScreenWidthInTwips = Screen.width
ScreenHeightInTwips = Screen.Height

Aunque no podemos cambiar estas propiedades, conocer sus valores nos ayudará a determinar la posición y tamaño correctos de nuestros formularios. El objeto Screen tiene algunas otras propiedades que necesitamos conocer.

Las propiedades TwipsPerPixelX y TwipsPerPixelY devuelven el número de twips por pixel de pantalla. Un pixel es el punto más pequeño de luz que puede visualizarse en la pantalla, y la resolución física de una visualización concreta se expresa en términos de pixeles horizontales y verticales. Cuando un programa está en ejecución, el número de twips por pixel dependerá de la configuración del hardware del sistema, así como de los ajustes del controlador de visualización de Windows. Podernos usar estas propiedades para acoplar los gráficos del programa con las características de la pantalla. Por ejemplo, para dibujar la línea horizontal más fina posible, estableceríamos el grosor de la línea igual a Screen.TwipsPerPixelY twips. El resultado es una línea que tiene precisamente un grosor de un pixel. También podemos calcular la resolución actual de la pantalla:

Xres = Screen.Width / Screen.TwipsPerPixelX
Yres = Screen.Height / Screen.TwipsPerPixelY

La propiedad MousePointer especifica el aspecto del puntero del ratón mientras está sobre un elemento de pantalla de Visual Basic. Con la especificación por defecto de 0, el puntero está controlado por la propiedad MousePointer de los objetos del programa (formulario, control, etc.). Otras posibles especificaciones para la propiedad MousePointer del objeto Screen:

Especificaciones de la propiedad MousePointer.

Especificación

Descripción

0

Forma determinada por el objeto (por omisión)

1

Flecha

2

Cruz (puntero en forma de cruz)

3

Barra |

4

Icono (cuadradito dentro de un rectángulo)

5

Tamaño (flecha de cuatro puntas señalando el norte, sur, este y oeste)

6

Tamaño NE SW (flecha doble que señala los cuatro puntos cardinales)

7

Tamaño N S (flecha doble que señala el norte y el sur)

8

Tamaño NW SE (flecha doble que señala el noroeste y el sureste)

9

Tamaño W E (flecha doble señalando el oeste y este)

10

Flecha arriba

11

Reloj de arena (espera)

12

No soltar

13

Flecha y reloj de arena

14

Flecha y signo de interrogación

15

Dimensionar todo (puede personalizarse bajo Microsoft Windows NT 3.51 y 4.0)

99

Icono personal especificado con la propiedad MouseIcon

Una propiedad MousePointer de 99 nos permite definir nuestro propio cursor utilizando la propiedad MouseIcon. En la sentencia:

Screen.MouseIcon = picture

picture especifica el nombre y ruta del archivo del icono o cursor que debe utilizarse como cursor del ratón cuando la propiedad MousePointer se establece a 99.

La propiedad ActiveForm devuelve el formulario que está actualmente activo. Esta propiedad es útil en un programa de múltiples formularios para escribir una sección de código que siempre referenciará al formulario activo.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Propiedades de posición y tamaño

Las propiedades Top y Left especifican la posición de la esquina superior izquierda del objeto dentro de su contenedor, y las propiedades Height y Width especifican su tamaño. Estas cuatro propiedades utilizan las unidades de coordenadas especificadas por la propiedad ScaleMode del contenedor. Si cambiamos la propiedad ScaleMode de un contenedor, bien durante el diseño del programa o en ejecución, las propiedades de cualquier objeto del contenedor cambian automáticamente a las nuevas unidades.

Otras dos propiedades, ScaleHeight y ScaleWidth, sólo se aplican a objetos Form, Picture Box y Printer. Estas propiedades proveen las dimensiones del interior del objeto (es decir, el área disponible para operar con gráficos). Estas especificaciones son diferentes de las que proveen las propiedades Height y Width, que indican el tamaño global del objeto, incluyendo los bordes, barra de título y otros componentes del objeto. El uso más frecuente para las propiedades ScaleHeight y ScaleWidth es en tiempo de ejecución: el programa las lee para determinar el tamaño del interior del objeto contenedor y luego utiliza los valores para situar objetos o realizar operaciones gráficas dentro del contenedor.

Todos los controles Visual Basic tienen una propiedad Container, que devuelve la identidad del objeto contenedor del control. También podemos establecer esta propiedad, que tendría el efecto de mover un control de un contenedor a otro.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Carga y presentación de formularios

Cada formulario de un proyecto Visual Basic existe en su propio archivo en disco. Presentar un formulario en la pantalla requiere dos pasos:

1. Cargar el formulario del disco a la memoria.
2. Presentar el formulario.

En un proyecto de formulario único, el formulario se carga y se presenta cuando arranca el programa. Para un proyecto de múltiples formularios, el formulario de arranque designado se carga y se presenta cuando el programa se inicia. El resto de formularios se cargan y se presentan bajo el control del programa.

Podemos usar la sentencia Load para cargar un formulario sin presentarlo:

Load nombreformulario

Un formulario también se cargará si el programa se refiere a alguna de sus propiedades. Cargar un formulario y visualizarlo son dos cosas diferentes, por ejemplo, el método Show, se utiliza para visualizar un formulario. Si el formulario todavía no ha sido cargado, Show lo carga automáticamente.

nombreformulario.Show

Dos casos, en que Load es útil son:

  • Si queremos que el procedimiento de evento Load del formulario se ejecute sin que se presente, utilizar la sentencia Load.

  • Si el formulario es complejo (es decir, si tiene muchos controles y/o realiza procesamientos complejos en su procedimiento de evento Load), usar la sentencia Load para cargar el formulario antes de que se necesite visualizarlo. Los formularios complejos se visualizan más deprisa si han sido cargados con anticipación.

Para descargar un formulario que no necesitamos cuando queremos liberar memoria o inicializar todas las propiedades del formulario a sus valores originales se usa la sentencia Unload:

Unload nombreformulario

Para quitar un formulario de la pantalla sin descargarlo, usar el método Hide:

nombreformulario.Hide


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de VB II y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.