Sección de tutoriales y manuales vb

CommonDialog - Cuadro de diálogo de seleccionar color

Volver al índice



 

 

 

En esta página se describe el uso básico del cuadro de diálogo de windows que permite seleccionar un color

 

 

 

 

 

 



:::: Contenido :

 

 

Nota: en el siguiente enlace se listan otros recursos relacionados a otros cuadros de diálogo o CommonDialog, ya sea los usados con el control ocx de visual basic, y los de windows accediendo mediante funciones Api : Ejemplos

 


1 - Introducción

Para poder utilizar dicho cuadro de diálogo hay que incluir al proyecto el ocx Microsoft Common Dialog Controls. desde el menú Proyecto > componentes.

Una vez incluído el ocx en nuestro proyecto, con el mismo podemos utilizar todos los cuadros de diálogo. ( aunque en esta página se describe solo el que permite seleccionar color, los demás los podés acceder desde este enlace: Controles Visual basic )

 

Ventana para agregar componentes

 

Este cuadro de diálogo es muy simple utilizarlo, solo basta con llamar al método ShowColor para abrirlo y poder seleccionar un color, y luego utilizar dicho valor para alguna acción del programa

 

Cuadro de diálogo

vista previa del cuadro de diálogo

 


2 - Método ShowColor

 

Este método permite abrir el cuadro de diálogo. Como se dijo solo basta con ejecutar el método ShowColor.

Por ejemplo para abrirlo al presionar un CommandButton:

Pero ¿ como saber el color seleccionado ?

Para ello se debe consultar la propiedad Color.

 


3 - Propiedad Color

Esta propiedad devuelve o establece el color seleccionado.

El siguiente ejemplo, al presionar un botón, abre el cuadro de diálogo, y luego de seleccionar un color desde la paleta y presionar Aceptar, se establece el color de fondo del formulario por el color elegido.

Colocar un CommandButton y un CommonDialog

 

Es decir , al ejecutar ShowColor, se despliega el cuadro de diálogo y se detiene la ejecución del programa. Una ves que se presiona Aceptar o Cancelar, prosigue la ejecución de código, y se consulta la propiedad Color.

Nota: la propiedad Color devuelve un valor de tipo Long que representa al mismo.

 


4 - Propiedad Flags

Para desplegar el cuadro de diálogo con un color en concreto, hay que indicar en la propiedad Color, el valor que queremos como color inicial, esto hay que hacerlo antes de llamar a ShowColor. Pero también hay que indicar en la propiedad Flags el valor cdlCCRGBInit. Si no establecemos dicho Flag, no funcionará.

Lo siguiente abre el CommonDialog y marca el color Azul como predeterminado o inicial, utilizando la constante VbBlue para la propiedad Color

vista previa del ejemplo utilizando la propiedad Flags

 

 

Con la propiedad Flags también podemos hacer que el cuadro de diálogo se visualice completo, es decir incluyendo la sección para definir colores personalizados, utilizar la barra deslizante para mezclar los colores, ver los valores RGB, el Matiz y saturación.

La siguiente imagen muestra esto mismo:

 

El valor a pasar a la propiedad Flags para que permita hacer esto es: cdlCCFullOpen.

Un ejemplo:

 

Pero ¿ como hacer para desplegar la paleta completa, y también un color inicial ?

Para poder realizar esto, se debe unir y combinar los dos Flags , cdlCCFullOpen y cdlCCRGBInit. En Visual basic, para combinar valores de constantes, como también en el uso de funciones Apis, se utiliza el operador Or. Es decir , a la propiedad Flags se le asignará lo siguiente : Flags = cdlCCFullOpen Or cdlCCRGBInit

Este ejemplo es igual al anterior, pero al combinar los flags, el cuadro de diálogo se despliega completo y también con un color inicial, en este caso el Color Amarillo.

 


5 - Propiedad CancelError

 

Esta propiedad permite disparar-ejecutar un Error cuando el usuario presiona el botón Cancelar o la Cruz de cerrar. Esto es muy útil ya que al presionar Cancelar, nosotros debemos saber cuando el usuario no quiso seleccionar un color (en la mayoría de los casos ).

Al establecer la propiedad CancelError con el valor True, si el usuario presiona cancelar, se producirá el error 32755. Valor de constante cdlCancel

Nota: cuando desees conocer los valores de constantes ( valores de error ), puedes verlos desde el Examinador de objetos de visual basic ( F2 ), y escribiendo en el cuadro de búsqueda ErrorConstants para desplegar la lista de valores.

Siguiendo, al establecer CancelError en true, si se presiona cancelar, y no hemos definido una función para capturar el error, Visual basic desplegará este cuadro de diálogo de error en tiempo de ejecución.

vista previa de la ventana de error al presionar cancelar

 

Colocando una rutina de error y consultando si el error es el 32755, se puede controlar para tomar alguna determinación, por ejemplo mostrar un mensaje al usuario que debe seleccionar en forma obligatoria un color, o cualquier otro tipo de determinación que necesitemos para el caso.

A continuación un simple ejemplo para capturar el error.


6 - Ejemplo 1

Colocar un Command1 y un CommonDialog

Código fuente en el formulario

 


7 - Ejemplo 2

El siguiente ejemplo lo que hace es cambiar el color de la fuente de todos los controles Label que haya en el formulario. Para recorrer los controles del formulario usaremos un bucle For Each

Colocar algunos controles Label, y otros controles como TextBox y ListBox etc..

También un CommonDialog y un commandButton para seleccionar el color.

 


Convertir el color seleccionado en Hexadecimal

Si deseamos obtener el valor Hexadecimal podemos utilizar la siguiente función para convertirlo.

 

Código fuente

Colocar

 


Colores del sistema

Si deseamos obtener y saber los valores de colores que utiliza windows para todos los objetos de la interfaz gráfica de la configuración actual : Color de fondo de la ventana, Color de los botones de las aplicaciones, Color del texto de los controles, bordes de las ventanas etc..., los puedes averiguar, consultando las constantes. Estas constantes se acceden desde el examinador de objetos de Visual basic.

Presionando la tecla F2, se abrirá el examinador, y si scribes en el cuadro de búsqueda la palabra SystemColorConstants, en la ventana inferior, se listarán todas las constantes, y al seleccionar una se mostrará una leyenda en la parte inferior que describe a que color está asociado dicha constante:

 


Utilizar un archivo Ini para guardar valores de colores

En muchas ocaciones es necesario trabajar con los valores de colores u otros datos, y que al cerrar el programa, se almacenen en algún lado, para que al volver a iniciar la aplicación, poder recuperarlos y mostrarlos al usuario, es decir volver a cargarlos y poder utilizarlos

Una forma simple y muy utilizada es mediante archivos INI, y aunque aqui no se describe el uso de estas funciones Apis para poder realizar esto, su uso es muy simple, y puedes descargar un ejemplo práctico en el siguiente enlace .

Nota .Probando el ejemplo, puedes ver como al seleccionar un color, luego cerrar el programa, y al volver a abrirlo, el programa lee los datos desde el archivo y los vuelve a mostrar en los controles.

Descargar ejemplo

 


 

8 - Recursos Visual basic - Enlaces relacionados

 

 


Buscar en Recursos vb