mostrar colores en xbrowse sin bitmaps

Post Reply
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

mostrar colores en xbrowse sin bitmaps

Post by José Luis Sánchez »

Hola:
En un mantenimiendo de un fichero de categorias, quiero asignar a cada categoría un color para luego mostrar gráficos con ese color. La selección de color en el formulario que edita la categoría es facil de hacer: pongo un botón que llama a la función ChooseColor donde selecciono el color y luego al bitmap le pongo oBmp:SetColor(color, color) y listo.
Ahora quiero que en cada linea del xbrowse me aparezca el color que he seleccionado. Evidantemente no puedo tener un bitmap de cada posible color que elija en usuario, para mostrar en el xbrowse. Asi que necesito crear un bmp por código de unos 16*16, asignarle un color y mostrarlo en el xbrowse.

¿ Alguna idea de como atacar esto ?

Saludos,
User avatar
José Luis Sánchez
Posts: 484
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España
Contact:

Post by José Luis Sánchez »

Es mucho más facil que esto. Simplemente me creo una columna y nuestro 3 blancos y le pongo el fondo del color que me interesa.

Y yo pensando en bitmaps virtuales. Mira que me complico a veces la vida.

Hay dias en que uno no está para nada...
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Hola José Luis

Post by AIDA »

Hola

Disculpa que te pregunte algo fuera del tema que propones

no eh podido hacer que se refresque el XBrowse

si pongo Refresh() me sale un error :shock: y se truena el programa :cry: no se por que :?: antes funcionaba muy bien con listbox

asi lo tengo al final de guardar datos en la base de datos

oSoC:UpStable()
oSoC:Refresh()

me podrias ayudar

Gracias :wink:

Aida
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Rochinha
Posts: 309
Joined: Sun Jan 08, 2006 10:09 pm
Location: Brasil - Sao Paulo
Contact:

Post by Rochinha »

Amigo

Adapta o ejemplo:

Code: Select all

nNumeroDaColunaAColorar := 2
...
                    oTBLLbx:bTextColor    := {|nRow,nCol| CLR_BLACK }
                    oTBLLbx:bbkColor      := {|nRow,nCol| PintaCelula(nRow,nCol,DBF->CAMPO,nNumeroDaColunaAColorar) }
...

Function PintaCelula( _nRow_, _nCol_, _status_, _qCol_ )
   Local nCor := nRGB(255,255,255)
   if _nRow_ > 0
      do case
         case _status_ = "V"
              if _nCol_ = _qCol_
                 nCor = nRGB( 236,253,255 ) // CLR_AZULADITO   
              endif
         case _status_ = "A"
              if _nCol_ = _qCol_
                 nCor = nRGB( 234,255,229 ) // CLR_VERDEAGUA
              endif
         case _status_ = "R"
              if _nCol_ = _qCol_
                 nCor = nRGB( 255,238,238 ) // CLR_VENCIDOS
              endif
      endcase
   endif
   return nCor
Post Reply