Вы находитесь на странице: 1из 19

Introduccin

Controles grficos PcitureBox, Form


Dibujar lineas y cuadros
Dibujar crculos, arcos, elipses
Manejo del color
Ejemplos de graficacin
Referencias y notas

Prepar:William Alvarez-Montoya>


Introduccin
La graficacin, esttica o dinmica, es una de las herramientas ms utilizadas en todos los entornos visuales
interactivos, ya sea de diseo de aplicaciones o aplicativos ("paquetes"), basados en objetos, guiados por
eventos. Quizs, su desmesurada importancia e incidencia dentro de las tcnicas de programacin se deba al
hecho de que una imagen vale ms que mil palabras, como bien lo ha explicitado la tradicin oral
2
. Tambin
refrenda la importancia e incidencia de la imagen, de lo visual, el hecho de que el rea neuronal para la visin es
de las ms amplias en el cerebro
3
. Ambas razones se reflejan en lo cultural, pues es una verdad de a puo que
las jvenes generaciones estn centradas -en sus vitales paradigmas- cuasiexclusivamente en lo visual.
Visual Basic, como todos los entornos actuales de diseo de aplicaciones que implementan paradigmas
tecnolgicos como RAD (Rapid Application Development) o Desarrollo Rpido de Aplicaciones
5,9
, IDE (Integrated
Development Environment) o Entorno Integrado de Desarrollo
6
, APT (Automatic Programming Tecnology) o
Tecnologa de Programacin Automtica
7
, suministra al usuario herramientas de graficacin para proyectos de
aplicaciones individuales , para proyectos de intensiva interactividad con el Sistema Operativo va API
(Application Programming Interface) o Interfaz de programacin de Aplicaciones, y con una interaccin va la
Internet.
De ah, la popularidad de Visual Basic a todos los niveles de programadores y de las ms variadas aplicaciones
8
.
En Visual Basic 6.0, existen dos controles grficos mediante los cuales se pueden dibujar grficos en una
interfaz. Dichos objetos grficos son: el formulario Form y el PictureBox (cajagrfica). Estos dos controles
grficos poseen propiedades y mtodos y se les puede asociar ciertos eventos relacionados con la graficacin.
Las grficas en Visual Basic 6.0 estn basadas en la Windows Graphics Device Interface (GDI) APIs, o la Interfaz
grfica de Windows en la Interfaz de programacin de Aplicaciones
1, 4
.


Los controles grficos PictureBox, Form
En Visual Basic 6.0, el control grfico PictureBox (cajagrfica) es un control contenedor; es decir, que adems
de desplegar grficos tambin puede agrupar y desplegar otros controles. Igualmente, se puede desplegar texto
en este control; igualmente, el formulario (Form) es un control contenedor -realmente, es el contenedor bsico
para diseo de interfaces- y en l se puede desplegar tanto grficos como textos. Las figuras siguientes son un
ejemplo al respecto:

El control PictureBox (cajagrfica) se encuentra localizado en la caja de controles (o caja de herramientas, o de
plantillas de objetos) como se indica en la figura anterior.
El control PictureBox puede contener y visualizar varios formatos de grficos y de imgenes, entre los que se
incluyen: mapas de bits (*.bmp), icono (*.icon), metafile simple o mejorado, formato fotogrfico (*.JPEG), y
formato *.GIF. El control ajusta el tamao de las imgenes y grficos desplegados.
En las tabla siguiente se listan las propiedades y mtodos del control PictureBox (cajagrfica); dichas
propiedades se pueden establecer y/o modificar bien sea a tiempo de diseo, o a tiempo de ejecucin. La
propiedad Name (nombre) del control debe establecerse a tiempo de diseo.
Propiedades y Mtodos de los controles PictureBox (cajagrfica), y Form (formulario) que se utilizarn.
Nombre Descripcin y ejemplos
Nombre (name)
Propiedad. Permite establecer el nombre del objeto. Normalmente disponible a tiempo
de diseo.
Ejemplo: Pic1.
BackColor
(color del fondo)
Propiedad. Retorna o establece el color de segundo plano (el fondo) del control; una
vez establecido, dicho color se seguir utilizando para desplegar textos y grficos en el
control.
Los colores son determinados de varias formas: (a) - En tiempo de diseo por medio de
la paleta de colores que se activa con esta propiedad (vase la figura adjunta);
igualmente, podra establecerse, en la casilla de dicha propiedad, el cdigo
hexadecimal (base 16) para el color (&H00FFFFFF& es blanco); (b) - a tiempo
de ejecucin, puede emplearse una de tres tcnicas: (i) - las constantes string
de Visual Basic 6 para el color: vbBlack (negro), vbBlue (azul), vbRed (rojo), vbGreen
(verde), vbYellow (amarillo), vbWhite (blanco), vbCyan (azul claro), vbMagenta
(violeta); (ii) - la funcin RGB(), que se estudia ms adelante; (iii) - la funcin
QBColor(), que se estudia ms adelante en este captulo.
Ejemplos: (a) - A tiempo de diseo mediante la ventana de propiedades, en el entorno
de diseo de aplicaciones (escritorio principal) de Visual Basic 6, se establece un valor
a la propiedad, ya sea por medio de la paleta de colores o por medio del cdigo
hexadecimal del color; (b) - A tiempo de ejecucin, puede tenerse una instruccin como
esta: Pic1.BackColor = vbWhite
DrawWidth
(grosor grfico)
Propiedad. Retorna o establece el ancho de la pluma grfica (el grosor grfico) para los
mtodos grficos. El grosor grfico por omisin es 1; un grosor grfico de 7, por
ejemplo, hace que los puntos, lneas, crculos, y texto desplegados en el control
grfico, sean ms gruesos.
Ejemplos: (a) - Si se quiere que todos los elementos que se dibujen, en un control
PictureBox cuyo nombre es Pic1, tengan un grosor grfico de 7, entonces la instruccin
es: Pic1.DrawWidth = 7, en tiempo de ejecucin; (b) - A tiempo de diseo, en la
ventana de propiedades, frente a la propiedad DrawWidth, se digita el ancho de la
pluma grfica que se quiera establecer.
Scale (escala
grfica)
Mtodo. Define el sistema de coordenadas para un control Form, PictureBox o
Printer. No acepta argumentos con nombre. Normalmente, el origen de coordenadas -
de manera estndar- est definido la esquina superior izquierda del control (vista
frontal); con el mtodo Sacale se redefine dicho origen a otra ubicacin definida por el
usuario
Sintaxis
objeto.Scale (x1, y1) - (x2, y2)
La sintaxis del mtodo Scale consta de las siguientes partes:
Parte Descripcin
objeto
Opcional. Una expresin de objeto que da como resultado un objeto de
la lista Se aplica a. Si se omite objeto, se supone que objeto es el objeto
Form que tenga el enfoque (el formulario activo).
x1, y1
Opcional. Valores de precisin simple que indican las coordenadas
horizontal (eje x) y vertical (eje y) que definen la esquina superior
izquierda del objeto. Deben ir entre parntesis. Si se omiten, tambin
hay que omitir el segundo conjunto de coordenadas.
x2, y2
Opcional. Valores de precisin simple que indican las coordenadas
horizontal (eje x) y vertical (eje y) que definen la esquina inferior derecha
del objeto. Deben ir entre parntesis. Si se omite, tambin hay que omitir
el primer conjunto de coordenadas.

Comentarios: (a) - El mtodo Scale le permite restablecer el sistema de coordenadas
a cualquier escala elegida. Scale afecta al sistema de coordenadas de las
instrucciones grficas en tiempo de ejecucin y a la colocacin de los controles.
(b) - Si utiliza Scale sin argumentos (si se omiten los dos conjuntos de coordenadas),
restablecer el sistema de coordenadas a twips (1/1140 pulgadas cada twip).
Ejemplos: (a) - Si se quiere que el origen de coordenadas est en el centro geomtrico
de un control PictureBox de nombre Pic1, entonces la instruccin es: Pic1.Scale(-
100,100)-(100,-100), en tiempo de ejecucin; (b) - En la siguiente instruccin, el origen
de coordenadas de un control Form, llamado frm_Dibujar, se establece en una
posicin que no es el centro geomtrico del control: frm_dibujar.Scale(-150,100)-(50,-
100).
Pset (dibujar
punto)
Mtodo. Permite dibujar un punto con un color especificado.
Sintaxis
objeto.PSet [Step] (x, y), [color]
La sintaxis del mtodo PSet consta de las siguientes partes:
Parte Descripcin
objeto
Opcional. Expresin de objeto que da como resultado un
objeto de la lista Se aplica a. Si se omite objeto, el Form
(formulario) que tenga el enfoque se supondr que es
objeto.
Step
Opcional. Palabra clave del lenguaje con la cual se
especifica que las coordenadas son relativas a la posicin
grfica actual especificada por las propiedades CurrentX
y CurrentY.
(x, y)
Requerido. Valores de tipo Single que indican las
coordenadas horizontal (eje x) y vertical (eje y) del punto
que se va a establecer.
color
Opcional. Valor entero de tipo Long que indica el color
RGB especificado para el punto. Si se omite, se usar el
valor actual de la propiedad ForeColor. Puede usar la
funcin RGB o QBColor para especificar el color.

Comentarios: (a) - El tamao del punto dibujado depende del valor de la propiedad
DrawWidth. Cuando DrawWidth es 1, PSet establece un nico pxel al color
especificado. Cuando DrawWidth es mayor que 1, el punto se centra en las
coordenadas especificadas. (b) - La forma en que se dibuja el punto depende del valor
de las propiedades DrawMode y DrawStyle. (c) - Cuando se ejecuta PSet, las
propiedades CurrentX y CurrentY se establecen al punto especificado por los
argumentos. (d) - Para borrar un nico pxel con el mtodo PSet, especifique las
coordenadas del pxel y utilice el valor de la propiedad BackColor como argumento
color. (e) - Este mtodo no se puede usar en un bloque WithEnd With.
Ejemplos: (a) - Si se quiere dibujar un punto de coordenadas (12,23), con el grosor
grfico actual, de color rojo, en un control PictureBox de nombre Pic1, entonces la
instruccin es: Pic1.Pset(12,23), vbRed, en tiempo de ejecucin; (b) - En la siguiente
instruccin, el punto -(50,75) se dibuja en un control Form, llamado frm_Dibujar, de
color azul, con un grosor grfico de 7: frm_dibujar.DrawWidth = 7 :
frm_dibujar.Pset(-50,75), vbBlue.
Line (dibujar
linea o recuadro)
Mtodo. Dibuja lneas y rectngulos en un objeto o control grfico.
Sintaxis
objeto.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F]
La sintaxis del mtodo Line consta de las siguientes partes:
Parte Descripcin
objeto
Opcional. Expresin de objeto que da como resultado un
objeto de la lista Se aplica a. Si se omite objeto, el Form
que tiene el enfoque (el formulario activo) se supone que
es objeto.
Step
Opcional. Palabra clave que especifica que las
coordenadas del punto inicial son relativas a la posicin
grfica actual indicada por las propiedades CurrentX y
CurrentY.
(x1, y1)
Opcional. Valores de tipo Single que indican las
coordenadas del punto inicial para la lnea o el rectngulo.
La propiedad ScaleMode determina la unidad de medida
utilizada. Si se omite, la lnea empieza en la posicin
indicada por CurrentX y CurrentY.
Step
Opcional. Palabra clave que especifica que las
coordenadas del punto final son relativas al punto inicial
de la lnea.
(x2, y2)
Requerido. Valores de tipo Single que indican las
coordenadas del punto final para la lnea que se est
dibujando.
color
Opcional. Valor entero de tipo Long que indica el color
RGB utilizado para dibujar la lnea. Si se omite, se usar
el valor de la propiedad ForeColor. Puede usar la funcin
RGB o QBColor para especificar el color. Tambin se
puede espeficicar el color con las constantes string,
explicadas en la propiedad BackColor
B
Opcional. Si se incluye, hace que se dibuje un cuadro
usando las coordenadas para especificar las esquinas
opuestas del cuadro.
F
Opcional. Si se utiliza la opcin B, la opcin F especifica
que el cuadro se llena con el mismo color utilizado para
dibujar el cuadro. No puede usar F sin B. Si se utiliza B
sin F, el cuadro se llena con los valores actuales de
FillColor y FillStyle. El valor predeterminado para
FillStyle es transparente.

Comentarios: (a) - Para dibujar lneas conectadas, empiece una lnea en el punto final
de la lnea anterior.(b) - El ancho de la lnea dibujada depende del valor de la
propiedad DrawWidth. El modo en que se dibuja una lnea o un cuadro en el fondo
depende del valor de las propiedades DrawMode y DrawStyle.(c) - Cuando se ejecuta
Line, las propiedades CurrentX y CurrentY se establecen al punto final especificado
por los argumentos. (d) - Este mtodo no puede usarse en un bloque WithEnd With.
Ejemplos: (a) - Si se quiere dibujar una lnea que una los puntos (12,23), (-50,35), con
el grosor grfico actual, de color rojo, en un control PictureBox de nombre Pic1,
entonces la instruccin es: Pic1.Line(12,23)-(-50,35), vbRed, en tiempo de ejecucin;
(b) - En la siguiente instruccin, la lnea entre los puntos (-100,0) y (100,0), se dibuja en
un control Form, llamado frm_Dibujar, de color azul, con un grosor grfico de 4:
frm_dibujar.DrawWidth = 4 : frm_dibujar.Line(-100,0)-(100,0), vbBlue.
Circle (dibujar
crculos, arcos,
elipses)
Mtodo. Dibuja un crculo, una elipse o un arco en un objeto, o control grfico.
Sintaxis
objeto.Circle [Step] (x, y), radio, [color, inicio, fin, aspecto]
La sintaxis del mtodo Circle consta de las partes siguientes:
Parte Descripcin
objeto
Opcional. Expresin de objeto que da como resultado un
objeto de la lista Se aplica a, es decir la lista de objetos
que tienen este mtodo. Si se omite objeto, se supone que
el Form que tiene el enfoque es objeto, es decir el
formulario activo.
Step
Opcional. Palabra clave que especifica que el centro del
crculo, elipse o arco es relativo a las coordenadas
actuales especificadas por las propiedades CurrentX y
CurrentY de objeto.
(x, y)
Requerido. Valores de tipo Single que indican las
coordenadas para el punto central del crculo, elipse o
arco. La propiedad ScaleMode de objeto determina las
unidades de medida utilizadas.
radio
Requerido. Valor de tipo Single que indica el radio del
crculo, elipse o arco. La propiedad ScaleMode de objeto
determina la unidad de medida utilizada.
color
Opcional. Valor entero de tipo Long que indica el color
RGB del contorno del crculo. Si se omite, se utiliza el
valor de la propiedad ForeColor. Puede usar la funcin
RGB o QBColor para especificar el color.
inicio, fin
Opcional. Valores de precisin simple. Cuando se dibuja
un arco o un crculo o una elipse parcial, inicio y fin
especifican (en radianes) las posiciones de inicio y de fin
del arco. El intervalo para ambos es de -2 pi radianes a 2
pi radianes. El valor predeterminado para inicio es 0
radianes; el valor predeterminado para fin es 2 * pi
radianes.
aspecto
Opcional. Valor de precisin simple que indica la relacin
de aspecto del crculo. El valor predeterminado es 1.0, lo
que produce un crculo perfecto (no elptico) en cualquier
pantalla.

Comentarios: (a) - Para llenar un crculo, establezca las propiedades FillColor y
FillStyle del objeto en el que se dibuja el crculo o la elipse. Slo se puede llenar una
figura cerrada. Entre las figuras cerradas se incluyen crculos, elipses o secciones
circulares (arcos con lneas de radio dibujadas en ambos extremos). (b) - Cuando
dibuja un crculo o una elipse parcial, si inicio es negativo, Circle dibujar un radio
hasta inicio y tratar el ngulo como positivo; si fin es negativo, Circle dibujar un radio
hasta fin y tratar el ngulo como positivo. El mtodo Circle siempre dibuja en
direccin contraria a las agujas del reloj (positiva). (c) - El ancho de la lnea utilizada
para dibujar el crculo, elipse o arco depende del valor de la propiedad DrawWidth. La
forma en que se dibuja el crculo en el fondo depende del valor de las propiedades
DrawMode y DrawStyle. (d) - Al dibujar segmentos circulares, para dibujar un radio
con un ngulo 0 (lo que produce un segmento de lnea horizontal a la derecha),
especifique un valor negativo pequeo para inicio, en lugar de cero. (e) - Puede omitir
un argumento del centro de la sintaxis, pero debe incluir la cola del argumento antes de
incluir el siguiente argumento. Si omite un argumento opcional, omita la coma que
sigue al ltimo argumento especificado. (f) - Cuando se ejecuta Circle, las propiedades
CurrentX y CurrentY se establecen al punto central especificado por los argumentos.
(g) - Este mtodo no puede usarse en un bloque WithEnd With.
Ejemplos: (a) - Para dibujar un crculo con centro en el punto (15,25), de color azul, con
radio 10, en el control formulario llamado frm_Circles, se utiliza la siguiente
instruccin: frm_Circles.Circle(15,25),10,vbBlue. (b) - La siguiente instruccin dibuja
un arco de crculo entre los grados 50 y 135, con centro en el punto (-15,-25), y radio
10, dibujadoen un control PictureBox llamado Pic1: Pic1.Circle(-15,-
25),10,vbBlue,50*Pi/180.0, 135*Pi/180.0. (c) - Una elipse con centro en el origen
relativo de coordenadas (0,0), en un control PictureBox llamado Pic1, se dibuja con la
siguiente instruccin: Pic1.Circle(0,0),10,vbMagenta,,0.5



Dibujar Lneas y Cuadros
Puede dibujar y rellenar cuadros mediante el mtodo Line. El siguiente ejemplo dibuja un cuadro con la esquina
superior izquierda en (500, 500) y que mide 1.000 twips de lado:
Line (500, 500)Step(1000, 0)
Line -Step(0, 1000)
Line -Step(1000, 0)
Line -Step(0, 1000)
Sin embargo, Visual Basic proporciona una manera mucho ms sencilla de dibujar cuadros. Cuando utiliza la
opcin B con el mtodo Line, Visual Basic dibuja un rectngulo y trata los puntos especificados como las
esquinas opuestas del rectngulo. De esta forma, podra reemplazar las cuatro instrucciones del ejemplo
anterior por la siguiente:
Line (500, 500)Step(1000, 1000), , B
Observe que se requieren dos comas delante de B para indicar que se omite el argumento color. La sintaxis del
mtodo Line se describe en "Dibujo de lneas y formas", anteriormente en este captulo.
FillStyle y FillColor
Mientras no modifique el valor de la propiedad FillStyle, el cuadro aparece vaco. (El cuadro se llena con el valor
predeterminado de FillStyle, pero este valor es 1-Transparent.) Puede modificar la propiedad FillStyle a
cualquiera de los valores enumerados en la tabla siguiente, y en la figura a continuacin se muestra un ejemplo
de un cuadro relleno, dibujado en un formulario.

Valores de la propiedad FillStyle:
Valor Descripcin
0
Slido. Llena el cuadro con el color establecido en la propiedad FillColor.
1
Transparente (predeterminado). El objeto aparece vaco, independientemente del
color que se utilice.
2
Lneas horizontales.
3
Lneas verticales.
4
Lneas diagonales hacia arriba.
5
Lneas diagonales hacia abajo.
6
Lneas cruzadas.
7
Lneas cruzadas en diagonal.

Por tanto, si establece FillStyle a 0, el cuadro se llena con el color establecido en la propiedad FillColor.
Otra manera de llenar el cuadro es especificar F despus de B. (Observe que F no puede usarse sin B.) Cuando
utiliza la opcin F, el mtodo Line pasa por alto FillColor y FillStyle. El cuadro se llena siempre con un color
slido cuando utiliza la opcin F. La siguiente instruccin llena el cuadro con un patrn slido, dentro de un
control PictureBox de nombre Pic1, especificando el color mediante la constante string vbRed:
Pic1.Line (15, -20)-Step(55, 75), vbRed, BF
El resultado se muestra en la figura siguiente


Un cuadro lleno con un patrn slido en un control PictureBox

La grfica de la figura anterior se ha logrado con la secuencia de instruciiones que a continuacin se muestra:
Pic1.Scale (-100, 100)-(100, -100)
Pic1.Line (-100, 0)-(100, 0), vbBlue
Pic1.Line (0, -100)-(0, 100), vbBlue
Pic1.Font.Size = 8
For X = -100 To 100 Step 10
Pic1.Line (X, 1)-(X, -1), vbBlack
Pic1.Print X
Next X
For Y = -100 To 100 Step 10
Pic1.Line (1, Y)-(-1, Y), vbBlack
Pic1.PSet (5, Y), vbWhite
If (Y <> 0) Then Pic1.Print Y
Next Y
Pic1.Line (15, -20)-Step(55, 75), vbRed, BF
Incluya tales instrucciones en un botn de comando, dentro de un formulario en el cual se ha ubicado un control
PictureBox de nombre Pic1, y pruebe el resultado del programa.


Dibujar crculos, arcos, elipses
El mtodo Circle dibuja diversas formas circulares y elpticas (ovales). Adems, Circle dibuja arcos (segmentos
de crculos) y arcos con radios (trozos de tarta). Puede producir muchos tipos de lneas curvas si utiliza las
variaciones del mtodo Circle.
Para dibujar un crculo, Visual Basic necesita las coordenadas del centro del crculo y la longitud del radio. La
sintaxis de un crculo perfecto es la siguiente:
[objeto.]Circle [Step](x, y), radio[, color]
Los corchetes indican que objeto y la palabra clave Step son opcionales. Si no especifica objeto, se utiliza el
formulario actual. Los argumentos x e y son las coordenadas del centro y radio es el radio del crculo. Por
ejemplo, esta instruccin dibuja un crculo con el centro en (1200, 1000) y con un radio de 750:
Circle (1200, 1000), 750
El efecto exacto de esta instruccin depende del tamao y del sistema de coordenadas del formulario. Como no
conoce el tamao del formulario, no puede saber si el crculo ser visible. Si utiliza las propiedades de escala del
rea de dibujo, puede colocar el centro del crculo en el centro del formulario:
Circle ((ScaleWidth + ScaleLeft) / 2, (ScaleHeight + _
ScaleTop) / 2), ScaleWidth / 4
Por ahora, todo lo que necesita saber acerca de ScaleWidth y ScaleHeight es que le pueden ayudar a colocar los
grficos en el centro del formulario.
Para obtener ms informacin En "Modificacin del sistema de coordenadas de un objeto", anteriormente en
este captulo, se describen en detalle las propiedades ScaleWidth y ScaleHeight.
Nota: El radio del crculo siempre se especifica en unidades horizontales. Si el sistema de coordenadas utiliza
las mismas unidades en los dos ejes (lo que se hace de forma predeterminada), puede pasar por alto este
detalle. Sin embargo, si utiliza una escala personalizada, las unidades horizontales y verticales pueden
representar distancias diferentes. En los ejemplos anteriores, el radio se especifica en unidades horizontales y
se garantiza que el alto real del crculo sea igual que el ancho.
La aplicacin Blanker crea crculos como parte de la demostracin Tapiz de arco iris. Esta demostracin dibuja
una serie de crculos de lnea punteada alrededor del centro del formulario. Despus de algn tiempo, los
crculos parecen un tapete tejido. El procedimiento CircleDemo crea los crculos de la demostracin Tapiz de
arco iris con las instrucciones siguientes:
Sub CircleDemo ()
Dim Radius
' Establece Rojo a un valor aleatorio.
R = 255 * Rnd
' Establece Verde a un valor aleatorio.
G = 255 * Rnd
' Establece Azul a un valor aleatorio.
B = 255 * Rnd
' Establece la coordenada x centrada en el formulario.
XPos = ScaleWidth / 2
' Establece la coordenada y centrada en el formulario.
YPos = ScaleHeight / 2
' Establece el radio entre 0 y el 50% del
' alto del formulario.
Radius = ((YPos * 0.9) + 1) * Rnd
' Dibuja el crculo con un color aleatorio.
Circle (XPos, YPos), Radius, RGB(R, G, B)
End Sub
Los resultados de la demostracin Tapiz de arco iris se muestran en la que se muestra a continuacin:

La demostracin Tapiz de arco iris de la aplicacin Blanker (vase los ejemplos grficos)
En la seccin de ejemplos grficos, descargue el archivo comprimido a una carpeta de trabjo, extraiga los
ejemplos pertinentes, cargue cada ejemplo en Visual Basic, interacte con la aplicacin respectiva, estudie el
cdigo correspondiente. Es capaz usted de efectuar algunas variantes en la programacin? De ser as, hgalo y
experimente al respecto.


Para dibujar arcos con el mtodo Circle debe proporcionar los argumentos de ngulo en radianes para definir el
inicio y el fin del arco. La sintaxis para dibujar un arco es:
[objeto.]Circle [Step](x, y), radio, [color], inicio, fin[, aspecto]
Si los argumentos inicio o fin son negativos, Visual Basic dibuja una lnea que conecta el centro del crculo con
el extremo negativo. Por ejemplo, el procedimiento siguiente dibuja una tarta a la que falta un trozo.
Private Sub Form_Click ()
Const PI = 3.14159265
Circle (3500, 1500), 1000, , PI / 2, PI / 3
End Sub
Nota La frmula para convertir de grados a radianes es multiplicar los grados por Pi/180.



Manejo del color
Visual Basic utiliza un sistema coherente para todas las propiedades de color y los mtodos grficos. Un color
se representa mediante un entero de tipo Long y este valor tiene el mismo significado en todos los contextos en
los que se especifica un color.
Especificar colores en tiempo de ejecucin
Hay cuatro maneras de especificar un valor de color en tiempo de ejecucin:
Usar la funcin RGB.
Usar la funcin QBColor para elegir uno de los 16 colores de Microsoft QuickBasic

.
Usar una de las constantes intrnsecas enumeradas en el Examinador de objetos.
Escribir un valor de color directamente.
Esta seccin describe el uso de las funciones RGB y QBColor como formas sencillas de especificar colores.
Usar la funcin RGB
Puede usar la funcin RGB para especificar cualquier color.
Para usar la funcin RGB para especificar un color
1. Asigne a cada uno de los tres colores bsicos (rojo, verde y azul) un nmero entre 0 y 255. 0 denota la
intensidad mnima y 255 la mxima.
2. Asigne estos tres valores como entradas de la funcin RGB, con el orden rojo-verde-azul.
3. Asigne el resultado a la propiedad de color o al argumento de color.
Todos los colores se pueden producir mediante la combinacin de uno o varios de los colores bsicos. Por
ejemplo:
' Establece el fondo a verde.
Form1.BackColor = RGB(0, 128, 0)
' Establece el fondo a amarillo.
Form2.BackColor = RGB(255, 255, 0)
' Establece un punto a azul oscuro.
PSet (100, 100), RGB(0, 0, 64)
Constantes de color
En la tabla siguiente se relacionan las constantes de colores y sus descripciones:
Constante Valor Descripcin
vbBlack &H0 Negro
vbRed &HFF Rojo
vbGreen &HFF00 Verde
vbYellow &HFFFF Amarillo
vbBlue &HFF0000 Azul
vbMagenta &HFF00FF Fucsia
vbCyan &HFFFF00 Aguamarina
vbWhite &HFFFFFF Blanco

Colores del sistema
Constante Valor Descripcin
vbScrollBars &H80000000
Color de la barra de desplazamiento
vbDesktop &H80000001
Color del escritorio
vbActiveTitleBar &H80000002
Color de la barra de ttulo de la ventana activa
vbInactiveTitleBar &H80000003
Color de la barra de ttulo de la ventana inactiva
vbMenuBar &H80000004
Color de fondo del men
vbWindowBackground &H80000005
Color de fondo de la ventana
vbWindowFrame &H80000006
Color del marco de la ventana
vbMenuText &H80000007
Color del texto de los mens
vbWindowText &H80000008
Color del texto de las ventanas
vbTitleBarText &H80000009
Color del texto en los ttulos, cuadros de tamao y
flechas de desplazamiento
vbActiveBorder &H8000000A
Color del borde de la ventana activa
vbInactiveBorder &H8000000B
Color del borde de la ventana inactiva
vbApplicationWorkspace &H8000000C
Color de fondo de las aplicaciones con interfaz de
mltiples documentos (MDI)
vbHighlight &H8000000D
Color de fondo de los elementos seleccionados en un
control
vbHighlightText &H8000000E
Color del texto de los elementos seleccionados en un
control
vbButtonFace &H8000000F
Color de la sombra en la cara de los botones de
comando
vbButtonShadow &H80000010
Color de la sombra en el borde de los botones de
comando
vbGrayText &H80000011
Texto desactivado (no disponible)
vbButtonText &H80000012
Color de texto en los botones presionados
vbInactiveCaptionText &H80000013
Color del texto de un ttulo inactivo
vb3DHighlight &H80000014
Color de resalte para los elementos 3D
vb3DDKShadow &H80000015
Color de la sombra oscura para los elementos 3D
vb3DLight &H80000016
Segundo color ms claro para colores 3D despus de
vb3Dhighlight
vb3Dface &H8000000F
Color de la cara del texto
vb3Dshadow &H80000010
Color de la sombra del texto
vbInfoText &H80000017
Color de texto de la Informacin sobre herramientas
vbInfoBackground &H80000018
Color de fondo de la Informacin sobre herramientas

Usar las propiedades de color
Muchos de los controles de Visual Basic tienen propiedades que determinan los colores utilizados para
presentar el control. Recuerde que algunas de estas propiedades tambin son aplicables a controles no
grficos. En la tabla siguiente se enumeran las propiedades de color.
Propiedad Descripcin
BackColor
Establece el color de fondo del formulario o del control utilizado para dibujar. Si modifica la
propiedad BackColor despus de usar mtodos grficos para dibujar, el nuevo color de fondo
borra los grficos (vase la descripcin de esta propiedad para los controles PictureBox y Form.
ForeColor
Establece el color utilizado por los mtodos grficos para crear texto o grficos en un formulario
o control. La modificacin de ForeColor no tiene efecto sobre el texto o los grficos ya creados.
BorderColor
Establece el color de los bordes de un control Shape.
FillColor
Establece el color de relleno de los crculos creados con el mtodo Circle y los cuadros creados
con el mtodo Line.

Definir colores
Las propiedades de color pueden usar varios mtodos para definir el valor de color. La funcin RGB descrita en
"Trabajo con colores" es una forma de definir los colores. En esta seccin se describen dos maneras ms de
definir colores:
Usar constantes definidas
Usar valores de color directos
Usar constantes definidas
No necesita comprender la generacin de los valores de color si utiliza las constantes intrnsecas enumeradas
en el Examinador de objetos. Adems, no es necesario declarar las constantes intrnsecas. Por ejemplo, puede
usar la constante vbRed cuando quiera especificar el color rojo como valor para un argumento de color o una
propiedad de color:
BackColor = vbRed
Usar valores de color directos
El uso de la funcin RGB o las constantes intrnsecas para definir un color son mtodos indirectos, porque
Visual Basic los interpreta con la nica tcnica que utiliza para la representacin del color. Si conoce la
representacin de los colores de Visual Basic, puede asignar nmeros a las propiedades y a los argumentos de
color que especifican directamente el color. En la mayora de los casos, es mucho ms sencillo escribir estos
nmeros en hexadecimal.
El intervalo vlido para un color RGB normal va de 0 a 16.777.215 (&HFFFFFF&). Cada valor de color (propiedad
o argumento) es un entero de 4 bytes. El byte superior de los nmeros de este intervalo es 0. Los tres bytes
inferiores, del menos significativo al ms significativo, determinan la cantidad de rojo, verde y azul (Red, Green,
Blue = RGB), respectivamente. Los componentes rojo, verde y azul se representan mediante un nmero entre 0 y
255 (&HFF).
Por tanto, puede especificar un color como un nmero hexadecimal con esta sintaxis:
&HBBGGRR&
BB especifica la cantidad de azul, GG la cantidad de verde y RR la cantidad de rojo. Cada uno de estos
fragmentos es un nmero hexadecimal de dos dgitos entre 00 y FF. El valor medio es 80. Por tanto, el nmero
siguiente especifica gris, que tiene la cantidad media de los tres colores:
&H808080&
Si el bit ms significativo se establece a 1, cambia el significado del valor de color: ya no representa un color
RGB, sino un color del entorno especificado en el Panel de control de Windows. Los valores que corresponden a
los colores del sistema van de &H80000000 a &H80000015.
Nota: Aunque puede especificar ms de 16 millones de colores diferentes, no todos los sistemas son capaces de
presentarlos con precisin. Para que una mquina y/o software especficos puedan mostrar toda la gama de
colores, es preciso que la tarjeta grfica y la pantalla puedan manejar y mostrar toda la gama de colores.
Usar los colores del sistema
Cuando establece los colores de los controles o los formularios de la aplicacin (o proyecto Visual Basic),
puede usar los colores especificados por el sistema operativo en lugar de valores de color concretos. Si
especifica colores del sistema, cuando los usuarios de la aplicacin cambian los valores de los colores del
sistema en sus equipos la aplicacin refleja automticamente los valores de color especificados por el usuario.
Cada color del sistema tiene una constante definida y un valor de color directo. El byte superior de los valores
de color directo de los colores del sistema difiere del de los colores RGB normales. En los colores RGB, el byte
superior es 0, mientras que en los colores del sistema el byte superior es 8. El resto del nmero hace referencia
a un color concreto del sistema. Por ejemplo, el nmero hexadecimal utilizado para representar el color del ttulo
de una ventana activa es &H80000002&.
Cuando selecciona las propiedades de color en tiempo de diseo en la ventana Propiedades, si selecciona la
ficha Sistema, puede elegir valores del sistema, que se convierten automticamente al valor hexadecimal.
Tambin puede buscar las constantes definidas para los colores del sistema en el Examinador de objetos.
BackColor, ForeColor (Propiedades)
BackColor: devuelve o establece el color de fondo de un objeto.
ForeColor: devuelve o establece el color de primer plano utilizado para mostrar texto y grficos en un
objeto.
Sintaxis
objeto.BackColor [= color]
objeto.ForeColor [= color]
La sintaxis de las propiedades BackColor y ForeColor consta de las siguientes partes:
Parte Descripcin
objeto
Una expresin de objeto que da como resultado un objeto de la lista Se aplica a.
color
Un valor o una constante string que determina el color de fondo o de primer plano
del objeto, segn se indica en Valores.

Valores
Visual Basic utiliza el esquema de colores rojo-verde-azul (RGB) del entorno operativo Microsoft Windows. Los
valores admitidos para color son:
Valor Descripcin
Colores RGB normales
Colores especificados con la paleta de colores o en el cdigo mediante las funciones
RGB o QBColor.
Colores predeterminados
del sistema
Colores especificados por las constantes de color del sistema indicadas en la
biblioteca de objetos de Visual Basic (VB) en el Examinador de objetos. El entorno
operativo Windows sustituye las opciones especificadas por el usuario en el Panel
de control.

Para todos los formularios y controles, los valores predeterminados en tiempo de diseo son:
BackColor: el color predeterminado del sistema especificado por la constante vbWindowBackground.
ForeColor: el color predeterminado del sistema especificado por la constante vbWindowText.
Observaciones: (a) - En los controles Label y Shape, la propiedad BackColor se pasa por alto cuando el valor de
la propiedad BackStyle es 0 (transparente). (a) - Si establece la propiedad BackColor de un objeto Form o de un
control PictureBox, se borra todo el texto y todos los grficos, incluidos los grficos persistentes. Al establecer
la propiedad ForeColor, los grficos o el resultado impreso no se ven afectados. En el resto de los controles, el
color de la pantalla cambia inmediatamente.
El intervalo vlido para un color RGB normal va de 0 a 16.777.215 (&HFFFFFF). El byte ms alto de los nmeros
de este intervalo es 0, y los 3 ms bajos, del menos significativo al ms significativo, determinan la intensidad de
rojo, verde y azul, respectivamente. Cada uno de los componentes rojo, verde y azul se representa con un
nmero entre 0 y 255 (&HFF). Si el byte ms alto no es 0, Visual Basic utiliza los colores del sistema, definidos
por el usuario en el Panel de control o por las constantes que se encuentran en la biblioteca de objetos de Visual
Basic (VB) en el Examinador de objetos.
Para mostrar texto en el entorno operativo Windows, tanto el color del texto como el de fondo deben ser slidos.
Si no aparece el color que ha seleccionado para el texto o para el fondo, puede que uno de ellos sea de medios
tonos; es decir, puede que est formado por pxeles de hasta tres colores distintos. Si elige un color de medios
tonos para el texto o el fondo, se usar el color slido ms prximo.



Ejemplos de graficacin
En el archivo que se descarga haciendo click aqu contiene varios ejemplos en Visual Basic 6 que emplean
controles grficos. Descargue el archivo a una carpeta de trabajo; extraiga los diferentes ejemplos, y luego
interacte con cada uno de ellos.


Referencias y notas
[1] Microsoft SDN Library: Grficas en Visual Basic 6, Copyright 2006,
http://msdn2.microsoft.com/es-es/library/s57zewcx.aspx). Se hace una comparacin entre Visual Basic 6.0 y Visual
Basic 2005. Vase tambin: http://www.microsoft.com/spanish/msdn/spain/default.mspx.
[2] ...la tradicin oral...
[3] ...las reas del cerebro y lo visual...
[4] Foley et Al.: Computer Graphics, Principles and Practice. Addison Wesley. 2004. Vase tambin:
Hearn, D., Baker, M., Grficas por Computadora. Prentice Hall. 1994.
[5] Rapid Application Development (RAD), october 14, 2005,
http://www.blueink.biz/RapidApplicationDevelopment.aspx. Rapid Application Development (RAD) es una metodologa
de desarrollo de software, o de Ingeniera de Software, que se enfoca en elaborar (construir) aplicaciones (grandes conjuntos de
procedimientos) en corto tiempo; tradicionalmente, dentro de exigentes parmetros de funcionalidad, amigabilidad y velocidad de
respuesta a tiempo de ejecucin, es decir, respuestas a tiempo Real. El trmino RAD se ha convertido en una marca comercial que,
generalmente, hace referencia a aplicaciones que pueden ser diseadas y desarrolladas en un periodo de entre 60 a 90 das, pero la
Tecnologa RAD originalmente se ide para describir procesos de desarrollo de software que involucraban la construccin rpida y
eficiente de prototipos y la metodologa iterativa de construccin de proyectos de software. Sus principales ventajas son la calidad y la
rapidez en la construccin de software, especialmente en proyectos muy grandes o gigantescos. Los componentes principales de la
tecnologa RAD son: (a) - Elaboracin rpida de prototipos, mediante generadores interactivos de aplicaciones; (b) - lo cual gua a un
Desarollo Iterativo, o proceso incremental de desarrollo del software, con amplia y decisiva participacin de varias categoras del
usuarios finales; (c) - estricto control y demarcacin del tiempo, en especial de cara a los usuarios; (d) - trabajo cooperativo de los
diversos grupos de diseo, desarrollo e implementacin del software; (e) - eficiente administracin del proyecto de software, en relacin
con las etapas bsicas del RAD, o ciclo de vida de la metodologa de desarrollo RAD: (i) - Planeacin de Requerimientos (Ingeniera de
Requerimientos), (ii) - Diseo de las interfaces de usuario que son el tema nuclear de la rpida prototipacin, (iii) - Construccin con
rpidos generadores de cdigo, (iv) - Implementacin. Vase tambien: http://www.developers.net/node/view/1021; James Martin;
http://techfinder.channelweb.co.uk/vnucrn/search/browse/1413/1413.jsp .
[6] Anand V.B.: Computer Graphics and Geometric Modelling for Engineers. John Wiley & Sons, 1993.
// Foley J.D.; van Dam A.; Feiner S.K.; Hughes J.F.: "Computer Graphics. Theory and Practice".
Addison-Wesley 1996.
[7] .... APT ...
[8] ... gama de aplicaciones del Visual Basic ...
[9] Boehm, Barry W. : A Spiral Model of Software Development and Enhancement, Computer, vol. 21,
no. 5, pp. 61-72, May, 1988.

Вам также может понравиться