FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour mostrar colores en xbrowse sin bitmaps
Posts: 564
Joined: Thu Oct 13, 2005 09:23 AM
mostrar colores en xbrowse sin bitmaps
Posted: Fri Feb 02, 2007 08:42 AM

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,

Posts: 564
Joined: Thu Oct 13, 2005 09:23 AM
mostrar colores en xbrowse sin bitmaps
Posted: Fri Feb 02, 2007 09:06 AM

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...

Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Hola José Luis
Posted: Sat Feb 03, 2007 06:28 AM

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ǝ
Posts: 310
Joined: Sun Jan 08, 2006 10:09 PM
mostrar colores en xbrowse sin bitmaps
Posted: Sat Feb 03, 2007 10:45 AM
Amigo

Adapta o ejemplo:

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

Continue the discussion