En este ejercicio se dispone de tres barras de desplazamiento con la que pueden controlarse los componentes RGB del color del fondo y del color del texto de un control label. Dos botones de opción permiten determinar si los valores de las barras se aplican al fondo o al texto. Cuando se cambia de texto al fondo o viceversa los valores de las barras de desplazamiento (y la posición de los cursores) cambian de modo acorde.
A la derecha de las barras de desplazamiento tres cajas de texto contienen los valores números de los tres colores (entre 0 y 225). A la izquierda tres labels indican los colores de las tres barras. A continuación se muestran los controles y las propiedades utilizadas en este ejercicio:
Una característica importante de este ejercicio es que se han utilizado vectores (arrays) de controles. Las tres barras se llaman hsbColor y se diferencian por la propiedad Index, que toma los valores 0, 1 y 2. También las tres cajas de texto, las tres labels y los dos botones de opción son arrays de controles. Para crear un array de controles basta crear el primero de ellos y luego hacer copy y paste tantas veces como se desee, respondiendo afirmativamente al cuadro de diágolo que pregunta si desea crear un array.
El procedimiento Sub que contiene el código que gestiona un evento de un array es único para todo el array, y recibe como argumento la propiedad Index. De este modo se puede saber exactamente en qué control del array se ha producido el evento. Así pues, una ventaja de los arrays de controles es que pueden compartir el código de los eventos y permitir un tratamiento conjunto por medio de bucles for. A continuación el código correspondiente a los procedimientos que tratan los eventos de este ejercicio:
El código de este ejercicio requiere de ciertas explicaciones adicionales, adelantando cuestiones que se verán posteriormente:
- La función RGB() crea un código de color a partir de sus argumentos: los componentes RGB (Red, Green and Blue). Estos componentes, cuyo valor se almacena en un byte y puede oscilar entre 0 y 255, se determinan por medio de las tres barras de desplazamiento.
- El color blanco se obtiene con los tres colores fundamentales a su máxima intensidad. El color negro se obtiene con los tres colores RGB a cero. También se pueden introducir con las constantes predifinidas vbWhite y vbBlack, respectivamente.
- Es importante disponer de unas variables globales que almacenen los colres del fondo y del texto, y que permitan tanto guardar los valores anteriores de las barras como cambiar ésta a sus nuevos valores cuando se le da clic en los botones de opción. Las variables globales, definidas en la parte de definiciones generales del código, fuera de cualquier procedimiento, son visibles desde cualquier parte del programa. Las variables definidas dentro de una función o procedimiento sólo son visibles desde dentro de dicha función o procedimiento (variables locales).
- La función hsbColor_Change(Index As Integer) se activa cada vez que se cambia el valor en cualquiera de las barras de desplazamiento. el argumento Index, que Visual Basic define automáticamente, indica cuál de las barras del array es la que ha cambiado de valor (la 0, la 1 ó la 2). En este ejemplo dicho argumento no se ha utilizado, pero está disponible por si se hubiera querido utilizar en el código.
- Recuerda que puedes guiarte con los videos de los ejemplos anteriores en: www.youtube.com/bydalonline
- Guarda tu archivo con el nombre de Colores RGB y envíalo al correo: computacion@cecosama.edu.gt, en asunto escribe Colores RGB en Visual Basic.
Descarga las instrucciones del ejercicio en PDF aquí.
0 comentarios:
Comentarios o sugerencias