jueves, 14 de enero de 2016

Colores en Powerbuilder

La formula para combinar los valores de colores promarios en un número es:
    256*256*azul + 256*verde + rojo = número
donde el valor de cada color primario esta especificado como un valor entre 0 y 255. Por ejemplo, para especificar el cyan, sustituye 255 por azul, 255 por verde y 0 por rojo. El resultado sería 16776960.

En la tabla debajo se enlistan los valores de azul, verde y rojo que puedes usar en la formula para especificar otros colores.

Colores del Sistema
En las librerias PFC, hay un servicio de colores que te permite obtener los colores del sistema.
Para usarlo, se tiene que llamar a la estructura inv_datacolors.


long ll_selected_text

IF NOT IsValid(gnv_cst_app_object.inv_datacolors) THEN
   gnv_cst_app_object.of_SetDataColors(True)
END IF

ll_selected_text = gnv_cst_app_object.inv_datacolors.of_SelectedColor()
this.textcolor = ll_selected_text


Las funciones disponibles son:

    gnv_cst_app_object.inv_datacolors.of_SelectedColor( ) // Selected background
    gnv_cst_app_object.inv_datacolors.of_EnterableColor( ) // Window text
    gnv_cst_app_object.inv_datacolors.of_ReadOnlyColor( ) // Buttonface
    gnv_cst_app_object.inv_datacolors.of_SelectedTextColor // Selected Text Color

   
Para no tener que realizar la fórmula descrita al principio para obtener el valor y asignarlo a una variable, puedes simplemente utilizar la función rgb(rojo INT, verde INT, azul INT).
La función admite tres valores numéricos, que equivalen a los valores de rojo, verde y azul, en ese orden.
Por ejemplo:
    rgb(255,255,255) daría como resultado el blanco.
    rgb(255,0,0) daría como resultado el rojo,
    rgb(0,255,0) daría como resultado el verde,
    rgb(0,0,255) daría como resultado el azul y
    rgb(0,0,0) daría como resultado el negro.



Puedes utilizar la función RGB directamente en las propiedades de color de una datawindow:

 

O utilizarla al asignarle el valor a alguna constante de color de un objeto en la interfaz gráfica:


 












Por último, una lista de colores que te ayudaran:
BUTTONFACE =  78682240
WINDOW_BACKGROUND = 1087434968
WINDOW_TEXT = 33554592
APPLICATION_WORKSPACE = 268435456
TRANSPARENT = 553648127

BLACK = RGB(0, 0, 0)
WHITE = RGB(255, 255, 255)
LIGHT_GRAY = RGB(192, 192, 192)
DARK_GRAY = RGB(128, 128, 128)
RED = RGB(255, 0, 0)
DARK_RED = RGB(128, 0, 0)
GREEN = RGB(0, 255, 0)
DARK_GREEN = RGB(0, 128, 0)
BLUE = RGB(0, 0, 255)
DARK_BLUE = RGB(0, 0, 128)
MAGENTA = RGB(255, 0, 255)
DARK_MAGENTA = RGB(128, 0, 128)
CYAN = RGB(0, 255, 255)
DARK_CYAN = RGB(0, 128, 128)
YELLOW = RGB(255, 255, 0)
BROWN = RGB(128, 128, 0)

No hay comentarios:

Publicar un comentario