FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Sat Jan 24, 2009 07:58 PM
Hello Silvio,

for a row-color-change with a function, You can use instead of < oBrw:bClrStd > the function :
ROW_COLORS( oBrw, nTCOLOR, nCOLOR1, nCOLOR2 )
It uses < oBrw:KeyNo > for the row-color-change not < ordKeyno() >.
It doesn' matter, if You use arrays or databases.
I don't know why, but the shown BMP's are all visible with this solution.

I don't know, if You still want to do something special, or just a row-color-change.
Just let me know.

....
ROW_COLORS( oBrw, CLR_BLACK, RGB(193,221,255), RGB(221,245,255))
....

FUNCTION  ROW_COLORS( oBrw, nTCOLOR, nCOLOR1, nCOLOR2 )
Local aClrCol := {}

// nTCOLOR = TextColor
// nCOLOR1 = 1. Color
// nCOLOR2 = 2. Color

aClrCol := { { nTCOLOR, nCOLOR1 }, { nTCOLOR, nCOLOR2 } }
oBrw:bClrStd := { || aClrCol[ oBrw:KeyNo % 2 + 1 ] } 

RETURN( NIL )


Regards
Uwe :-)
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Sat Jan 24, 2009 10:10 PM
i dont understand you problem...
all bitmap paint correctly

1 have only 1 problem...
i cant use multiselect with brush and bmp
i can use other case with or without brush, mono or multi color row - col

i have idea with brush multiselect and bmp
#include "FiveWin.ch"
#include "xbrowse.ch"

function main()

local oWnd1
local aBrw		:= array( 4 )
local aArray1 := {}
local nI
local oBrush 
local oBrush2

define brush oBrush color GetSysColor( 13 )
define brush oBrush2 color GetSysColor( 5 )


for nI = 1 to 20
aadd( aArray1, { .f.,SPACE(20),;
								"Row:"+StrZero(nI,2)+" Col:02",;
								"Row:"+StrZero(nI,2)+" Col:03" } )
next


DEFINE window oWnd1 Title "Test Brush xBrowse" 

aBrw[ 1 ]:= txbrowse():new( oWnd1 )
aBrw[ 1 ]:nRowHeight := 40
aBrw[ 1 ]:nColDividerStyle 	:= LINESTYLE_BLACK
aBrw[ 1 ]:nRowDividerStyle 	:= LINESTYLE_BLACK
aBrw[ 1 ]:SetArray( aArray1 )
aBrw[ 1 ]:nMarqueeStyle := 5
aBrw[ 1 ]:SetBackGround( "agua2.bmp" )
aBrw[ 1 ]:CreateFromCode()


aBrw[ 1 ]:aCols[ 2 ]:addbmpfile("print.bmp") 
aBrw[ 1 ]:aCols[ 2 ]:addbmpfile("yes.bmp") 
aBrw[ 1 ]:aCols[ 2 ]:bBmpData := {|| if( aBrw[ 1 ]:nArrayAt() % 2 == 0, 1, 2 ) } 

aBrw[ 1 ]:aCols[ 3 ]:addbmpfile("gobottom.bmp")
aBrw[ 1 ]:aCols[ 3 ]:addbmpfile("gotop.bmp") 
aBrw[ 1 ]:aCols[ 3 ]:bBmpData := {|| if( aBrw[ 1 ]:nArrayAt() % 2 == 0, 1, 2 ) } 


aBrw[ 1 ]:aCols[ 1 ]:cHeader = "Selection"
aBrw[ 1 ]:aCols[ 1 ]:SetCheck( {"on.bmp","off.bmp"}, {|o,u| o:Value( u ) } )
aBrw[ 1 ]:aCols[ 1 ]:bStrData := {|| NIL }
//aBrw[ 1 ]:aCols[ 1 ]:lBmpTransparent := .f.

// comment this line for each case
for nI = 1 to 4
		aBrw[ 1 ]:aCols[ nI ]:oBrush := {|| if ( aBrw[1]:aRow[ 1 ], oBrush,  ) }//CreaBrush( aBrw[ 1 ], aBrw[ 1 ]:nArrayAt(),oBrush, oBrush2 ) 
//		aBrw[ 1 ]:aCols[ nI ]:bClrStd := {|| if ( aBrw[ 1 ]:nArrayAt() %2 == 0,;
//																				{ CLR_BLACK,RGB( 193,221,255 ) },;
//																				{ CLR_BLACK,RGB( 221,245,255 ) } ) }
next


oWnd1:oClient = aBrw[ 1 ]

ACTIVATE window oWnd1

return nil



without brush row mono color

#include "FiveWin.ch"
#include "xbrowse.ch"

function main()

local oWnd1
local aBrw		:= array( 4 )
local aArray1 := {}
local nI
local oBrush 
local oBrush2

define brush oBrush color GetSysColor( 13 )
define brush oBrush2 color GetSysColor( 5 )


for nI = 1 to 20
aadd( aArray1, { .f.,SPACE(20),;
								"Row:"+StrZero(nI,2)+" Col:02",;
								"Row:"+StrZero(nI,2)+" Col:03" } )
next


DEFINE window oWnd1 Title "Test Brush xBrowse" 

aBrw[ 1 ]:= txbrowse():new( oWnd1 )
aBrw[ 1 ]:nRowHeight := 40
aBrw[ 1 ]:nColDividerStyle 	:= LINESTYLE_BLACK
aBrw[ 1 ]:nRowDividerStyle 	:= LINESTYLE_BLACK
aBrw[ 1 ]:SetArray( aArray1 )
aBrw[ 1 ]:nMarqueeStyle := 5
//aBrw[ 1 ]:SetBackGround( "agua2.bmp" )
aBrw[ 1 ]:CreateFromCode()


aBrw[ 1 ]:aCols[ 2 ]:addbmpfile("print.bmp") 
aBrw[ 1 ]:aCols[ 2 ]:addbmpfile("yes.bmp") 
aBrw[ 1 ]:aCols[ 2 ]:bBmpData := {|| if( aBrw[ 1 ]:nArrayAt() % 2 == 0, 1, 2 ) } 

aBrw[ 1 ]:aCols[ 3 ]:addbmpfile("gobottom.bmp")
aBrw[ 1 ]:aCols[ 3 ]:addbmpfile("gotop.bmp") 
aBrw[ 1 ]:aCols[ 3 ]:bBmpData := {|| if( aBrw[ 1 ]:nArrayAt() % 2 == 0, 1, 2 ) } 


aBrw[ 1 ]:aCols[ 1 ]:cHeader = "Selection"
aBrw[ 1 ]:aCols[ 1 ]:SetCheck( {"on.bmp","off.bmp"}, {|o,u| o:Value( u ) } )
aBrw[ 1 ]:aCols[ 1 ]:bStrData := {|| NIL }
aBrw[ 1 ]:aCols[ 1 ]:lBmpTransparent := .f.

// comment this line for each case
for nI = 1 to 4
//		aBrw[ 1 ]:aCols[ nI ]:oBrush := {|| if ( aBrw[1]:aRow[ 1 ], oBrush,  ) } 
//		aBrw[ 1 ]:aCols[ nI ]:bClrStd := {|| if ( aBrw[ 1 ]:nArrayAt() %2 == 0,;
//																				{ CLR_BLACK,RGB( 193,221,255 ) },;
//																				{ CLR_BLACK,RGB( 221,245,255 ) } ) }
aBrw[ 1 ]:aCols[ nI ]:bClrStd := {|| { CLR_BLACK,RGB( 193,221,255 ) } }

next


oWnd1:oClient = aBrw[ 1 ]

ACTIVATE window oWnd1

return nil




with multicolor row same result
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Sun Jan 25, 2009 01:42 AM

Daniel,
I try with your sample but I must insert it on my application

Uwe ,
I ask you How to converte your idea into my function colores(cdbf)
I have all xbrowse with this system and I cannot change all applications

thanks in advance

Best Regards, Saludos



Falconi Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Mon Jan 26, 2009 11:05 AM

Daniel ,
have you foud a solution ?

Best Regards, Saludos



Falconi Silvio
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Mon Jan 26, 2009 12:16 PM
Hello Daniel,

all my tests are working now.
The problem with the 1. browser-line ( selected row ) is solved.
The reason : maybe one line to much inside a function, and You get unexpected results.
It has to be a designated scheme.



After all my other tests are finished, I will put the solutions of all possible combinations
in this post.

Thank You

Best Regards
Uwe :-)
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Mon Jan 26, 2009 12:30 PM

can you make an sample as my function ?
thanks

Best Regards, Saludos



Falconi Silvio
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Mon Jan 26, 2009 01:24 PM

Dear Uwe,
How I can modify it ( as your working sample) ?

I make :

oApp():bClrStd := { || Colores(oDCli) }

...
STATIC FUNCTION Colores(cdbf)
LOCAL aColo:={}
IF (cdbf)->(Ordkeyno()) % 2 == 0
aColo:={CLR_BLACK, RGB(193,221,255) }
ELSE
aColo:={CLR_BLACK, RGB(221,245,255) }
ENDIF
RETURN (aColo)


thanks


Silvio...
what is you problem...?
do you cant see pijama effect ( Alternated Row-Color ) ?
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Mon Jan 26, 2009 04:32 PM
I not Know what not run
I see a blue band and I not see the bitmaps
see my oldest message with picture
thanks

I have this code
oApp():oDlg:NewGrid( nSplit )
oApp():oGrid:nMarqueeStyle       := MARQSTYLE_HIGHLROWMS    // per la multi selezione
oApp():oGrid:nColDividerStyle    := LINESTYLE_FORECOLOR
oApp():oGrid:lColDividerComplete := .t.
oApp():oGrid:lRecordSelector := .F.

and one column :

                                         oCol:= oApp():oGrid:AddCol()
                                          oCol:AddResource("sort1")
                                          oCol:AddResource("sort2")
                                          oCol:cHeader  := "Grado"
                                          oCol:nHeadBmpNo    := if( (oDCli)->( ORDNUMBER() ) == 7, 1, 2)
                                          oCol:nHeadBmpAlign := AL_RIGHT
                                          oCol:bLClickHeader :={ ||(Sel_Index(6,oDCli) , oApp():oTab:nOption:=6,oApp():oTab:refresh()) }
                                          oCol:AddResource("GRADO1")
                                          oCol:AddResource("GRADO2")
                                          oCol:AddResource("GRADO3")
                                          oCol:AddResource("GRADO4")
                                          oCol:AddResource("GRADO5")
                                          oCol:AddResource("GRADO6")
                                          oCol:AddResource("GRADO7")
                                          oCol:AddResource("GRADO8")
                                          oCol:AddResource("GRADO0")
                                          oCol:bStrData := { || (oDCli)->GRADO}
                                          oCol:bBmpData := { || (oDCli)->GRADO + 2}
                                          oCol:nWidth   :=40






and then at the end


oApp():oGrid:nFreeze :=3
oApp():oGrid:SetRDD()
oApp():oGrid:bClrStd := { || Colores(oDCli) }
oApp():oGrid:SetBackGround( ".\bitmaps\pclogog.BMP" )
oApp():oGrid:CreateFromCode()
oApp():oGrid:bChange    :={ || (RefreshCont(oCont,oDCli)) }
oApp():oGrid:bRClicked := {|nRow,nCol| Disp_Men(oApp():oDlg,nRow,nCol,oDCli) }
oApp():oGrid:bKeyDown   :={|nKey| Val_nKey(nKey,oApp():oDlg)}
oApp():oGrid:bSeek      :={|c| DbSeek( Upper( c ) ) }
oApp():oGrid:nRowHeight  :=40
oApp():oGrid:nHeaderHeight  := 36
oApp():oGrid:RestoreState( cState )


.......

STATIC FUNCTION Colores(cdbf)
LOCAL aCol:={}
IF  (cdbf)->(Ordkeyno()) % 2 == 0
aCol:={CLR_BLACK, RGB(193,221,255) }
ELSE
aCol:={CLR_BLACK, RGB(221,245,255) }
ENDIF
RETURN (aCol)


HOw I must change it ?
Best Regards, Saludos



Falconi Silvio
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Mon Jan 26, 2009 06:14 PM
Silvio....
the problem is wen I use this command
oApp():nMarqueeStyle := MARQSTYLE_HIGHLROWMS
I need it for the multiselection and to browse all data


yes is a problem

Daniel...
1 have only 1 problem...
i cant use multiselect with brush and bmp
i can use other case with or without brush, mono or multi color row - col
i have idea with brush multiselect and bmp

Select all
#include "FiveWin.ch"
#include "xbrowse.ch"

function main()

local oWnd1
local aBrw := array( 4 )
local aArray1 := {}
local nI
local oBrush
local oBrush2

define brush oBrush color GetSysColor( 13 )
define brush oBrush2 color GetSysColor( 5 )


for nI = 1 to 20
aadd( aArray1, { .f.,SPACE(20),;
"Row:"+StrZero(nI,2)+" Col:02",;
"Row:"+StrZero(nI,2)+" Col:03" } )
next


DEFINE window oWnd1 Title "Test Brush xBrowse"

aBrw[ 1 ]:= txbrowse():new( oWnd1 )
aBrw[ 1 ]:nRowHeight := 40
aBrw[ 1 ]:nColDividerStyle := LINESTYLE_BLACK
aBrw[ 1 ]:nRowDividerStyle := LINESTYLE_BLACK
aBrw[ 1 ]:SetArray( aArray1 )
aBrw[ 1 ]:nMarqueeStyle := 5
aBrw[ 1 ]:SetBackGround( "agua2.bmp" )
aBrw[ 1 ]:CreateFromCode()


aBrw[ 1 ]:aCols[ 2 ]:addbmpfile("print.bmp")
aBrw[ 1 ]:aCols[ 2 ]:addbmpfile("yes.bmp")
aBrw[ 1 ]:aCols[ 2 ]:bBmpData := {|| if( aBrw[ 1 ]:nArrayAt() % 2 == 0, 1, 2 ) }

aBrw[ 1 ]:aCols[ 3 ]:addbmpfile("gobottom.bmp")
aBrw[ 1 ]:aCols[ 3 ]:addbmpfile("gotop.bmp")
aBrw[ 1 ]:aCols[ 3 ]:bBmpData := {|| if( aBrw[ 1 ]:nArrayAt() % 2 == 0, 1, 2 ) }


aBrw[ 1 ]:aCols[ 1 ]:cHeader = "Selection"
aBrw[ 1 ]:aCols[ 1 ]:SetCheck( {"on.bmp","off.bmp"}, {|o,u| o:Value( u ) } )
aBrw[ 1 ]:aCols[ 1 ]:bStrData := {|| NIL }
//aBrw[ 1 ]:aCols[ 1 ]:lBmpTransparent := .f.

// comment this line for each case
for nI = 1 to 4
aBrw[ 1 ]:aCols[ nI ]:oBrush := {|| if ( aBrw[1]:aRow[ 1 ], oBrush, ) }//CreaBrush( aBrw[ 1 ], aBrw[ 1 ]:nArrayAt(),oBrush, oBrush2 )
// aBrw[ 1 ]:aCols[ nI ]:bClrStd := {|| if ( aBrw[ 1 ]:nArrayAt() %2 == 0,;
// { CLR_BLACK,RGB( 193,221,255 ) },;
// { CLR_BLACK,RGB( 221,245,255 ) } ) }
next


oWnd1:oClient = aBrw[ 1 ]

ACTIVATE window oWnd1

return nil

Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Mon Jan 26, 2009 06:21 PM

ok but when I insert your ideas on my source it not run good...
perhaps I not explain U or U not understand me ...

Best Regards, Saludos



Falconi Silvio
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Mon Jan 26, 2009 07:21 PM

Silvio,

Latest xbrowse.prg (you have it) includes Daniel's enhancements.

Please try your tests again with the new xbrowse.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Tue Jan 27, 2009 11:00 AM
Sorry Antonio
I see also the blu bar and I cannot see bitmap on a row



My sample code :
 
   oApp():oDlg:NewGrid( nSplit ) //---> it create a txbrowse simply
   oApp():oGrid:nColDividerStyle    := LINESTYLE_BLACK
   oApp():oGrid:nRowDividerStyle    := LINESTYLE_FORECOLOR
   oApp():oGrid:nMarqueeStyle       := MARQSTYLE_HIGHLROWMS 
 oApp():oGrid:lColDividerComplete := .T.
   oApp():oGrid:lRecordSelector := .F.



    oCol:= oApp():oGrid:AddCol()
    oCol:AddResource("sort1")
    oCol:AddResource("sort2")
    oCol:bStrData := { ||  (oDCli)->NUMCLI}
    oCol:cHeader  := "Codice"
    oCol:nWidth   := 80
    oCol:nHeadBmpNo    := 1
    oCol:nHeadBmpAlign := AL_RIGHT
    oCol:bLClickHeader :={ ||(Sel_Index(1,oDCli), oApp():oTab:nOption:=1,oApp():oTab:refresh())  }


   //PER LA SELEZIONE

    oCol:= oApp():oGrid:AddCol()
    oCol:AddResource("C_Pal")
    oCol:AddResource("STATO3")
    oCol:bBmpData  := { || Ds_Mar(1,2)}
    oCol:cHeader  := ""
    oCol:nWidth   := 25




     oCol:= oApp():oGrid:AddCol()
     oCol:AddResource("sort1")
     oCol:AddResource("sort2")
     oCol:bStrData := { ||  (oDCli)->NOMEINTERO}
     oCol:cHeader  := "Cognome Nome"
     oCol:nWidth   := 250
     oCol:nHeadBmpNo    := 2
     oCol:nHeadBmpAlign := AL_RIGHT
     oCol:bLClickHeader :={ ||(Sel_Index(2,oDCli), oApp():oTab:nOption:=2,oApp():oTab:refresh())  }


     oCol:= oApp():oGrid:AddCol()
                                         oCol:AddResource("sort1")
                                         oCol:AddResource("sort2")
                                         oCol:AddResource("UOMO")
                                         oCol:AddResource("DONNA")
                                       *   oCol:bStrData := { ||   (oDCli)->SESSO}
                                           oCol:bBmpData   := { || IF( ALLTRIM(UPPER("UOMO")) $ ALLTRIM(UPPER((oDCli)->SESSO)),3,4)}
                                          oCol:cHeader  := "Sesso"
                                          oCol:nWidth   :=40
                                          oCol:nHeadBmpNo    := 2
                                          oCol:nHeadBmpAlign := AL_RIGHT
                                          oCol:bLClickHeader :={ ||(Sel_Index(3,oDCli) , oApp():oTab:nOption:=3,oApp():oTab:refresh()) }



                                          oCol:= oApp():oGrid:AddCol()
                                          oCol:AddResource("FONDATORE")
                                          oCol:AddResource("ORDINARIO")
                                          oCol:AddResource("SOSTENITORE")
                                          oCol:AddResource("ALTRO")
                                          *oCol:bStrData := { || (oDCli)->TIPO}
                                          oCol:cHeader  := "Adesione"
                                       *   oCol:bEditValue := { || (oDCli)->TIPO }
                                          oCol:nDataStyle := oCol:DefStyle( AL_LEFT, .T.)
                                          oCol:bBmpData := { || (oDCli)->TIPO}
                                           oCol:nWidth   := 30






      oCol:= oApp():oGrid:AddCol()
                                          oCol:AddResource("sort1")
                                          oCol:AddResource("sort2")
                                          oCol:AddResource("ATTIVO")
                                          oCol:AddResource("NOATTIVO")
                                           *oCol:bStrData := { || (oDCli)->STATO}
                                          oCol:cHeader  := "Status"
                                          oCol:nHeadBmpNo    := 2
                                          oCol:nHeadBmpAlign := AL_RIGHT
                                          oCol:bBmpData   := { || iif( (oDCli)->STATO, 3, 4) }
                                          oCol:bLClickHeader :={ ||(Sel_Index(5,oDCli) , oApp():oTab:nOption:=5,oApp():oTab:refresh()) }





                                          oCol:= oApp():oGrid:AddCol()
                                          oCol:AddResource("sort1")
                                          oCol:AddResource("sort2")
                                          oCol:nHeadBmpNo    := if( (oDCli)->( ORDNUMBER() ) == 6, 1, 2)
                                          oCol:nHeadBmpAlign := AL_RIGHT
                                          oCol:bLClickHeader :={ ||(Sel_Index(7,oDCli) , oApp():oTab:nOption:=7,oApp():oTab:refresh()) }
                                          oCol:AddBmpFile(".\BITMAPS\MENU\GRADI\GIOVANE.BMP")
                                          oCol:AddBmpFile(".\BITMAPS\MENU\GRADI\PENSIONATO.BMP")
                                          oCol:AddBmpFile(".\BITMAPS\MENU\GRADI\STUDENTE.BMP")
                                          oCol:AddBmpFile(".\BITMAPS\MENU\GRADI\ESPERTO.BMP")
                                          oCol:AddBmpFile(".\BITMAPS\MENU\GRADI\OBIETTORE.BMP")
                                          oCol:AddBmpFile(".\BITMAPS\MENU\GRADI\REGIONALE.BMP")
                                          oCol:bStrData := { || (oDCli)->ATTIVITA}
                                          oCol:cHeader  := "Tipo"
                                          oCol:bEditValue := { || (oDCli)->ATTIVITA }
                                          oCol:nDataStyle := oCol:DefStyle( AL_LEFT, .T.)

                                          oCol:bBmpData := { || (oDCli)->attivita + 2}
                                          oCol:nWidth   :=40




                                          oCol:= oApp():oGrid:AddCol()
                                          oCol:AddResource("sort1")
                                          oCol:AddResource("sort2")
                                          oCol:cHeader  := "Grado"
                                          oCol:nHeadBmpNo    := if( (oDCli)->( ORDNUMBER() ) == 7, 1, 2)
                                          oCol:nHeadBmpAlign := AL_RIGHT
                                          oCol:bLClickHeader :={ ||(Sel_Index(6,oDCli) , oApp():oTab:nOption:=6,oApp():oTab:refresh()) }
                                          oCol:AddResource("GRADO1")
                                          oCol:AddResource("GRADO2")
                                          oCol:AddResource("GRADO3")
                                          oCol:AddResource("GRADO4")
                                          oCol:AddResource("GRADO5")
                                          oCol:AddResource("GRADO6")
                                          oCol:AddResource("GRADO7")
                                          oCol:AddResource("GRADO8")
                                          oCol:AddResource("GRADO0")
                                          oCol:bStrData := { || (oDCli)->GRADO}
                                          oCol:bBmpData := { || (oDCli)->GRADO + 2}
                                          oCol:nWidth   :=40




                                          oCol:= oApp():oGrid:AddCol()
                                          oCol:bStrData := { ||   CF((oDCli)->NASCITA)}
                                          oCol:cHeader  := "Data di nascita"
                                          oCol:nWidth   := 90


                                          oCol:= oApp():oGrid:AddCol()
                                          oCol:bStrData := { ||   (oDCli)->LUO_NASC }
                                          oCol:cHeader  := "Luogo di Nascita"
                                          oCol:nWidth   := 150


                                          oCol:= oApp():oGrid:AddCol()
                                          oCol:bStrData := { ||  (oDCli)->INDIRIZZO }
                                          oCol:cHeader  := "Indirizzo"
                                          oCol:nWidth   := 200

                                          oCol:= oApp():oGrid:AddCol()
                                          oCol:AddResource("sort1")
                                          oCol:AddResource("sort2")
                                          oCol:bStrData := { ||   (oDCli)->LOCALITA }
                                          oCol:cHeader  := "Località"
                                          oCol:nWidth   := 100
                                          oCol:bLClickHeader :={ ||(Sel_Index(4,oDCli), oApp():oTab:nOption:=4,oApp():oTab:refresh())  }






   oApp():oGrid:nFreeze :=3
   oApp():oGrid:SetRDD()
  oApp():oGrid:bClrStd := { || Colores(oDCli) }


   oApp():oGrid:SetBackGround( ".\bitmaps\pclogog.BMP" )
   oApp():oGrid:CreateFromCode()
   oApp():oGrid:bChange    :={ || (RefreshCont(oCont,oDCli)) }
   oApp():oGrid:bRClicked := {|nRow,nCol| Disp_Men(oApp():oDlg,nRow,nCol,oDCli) }
   oApp():oGrid:bKeyDown   :={|nKey| Val_nKey(nKey,oApp():oDlg)}


  oApp():oGrid:bSeek      :={|c| DbSeek( Upper( c ) ) }
  oApp():oGrid:nRowHeight  :=40
  oApp():oGrid:nHeaderHeight  := 36
  oApp():oGrid:RestoreState( cState )

   (oDCli)->(DbSetOrder(nOrder))
   (oDCli)->(DbGoTo(nRecno))
   Sel_Index(nOrder,oDCli)


......





STATIC FUNCTION Colores(cdbf)
   LOCAL aCol:={}
IF  (cdbf)->(Ordkeyno()) % 2 == 0
   aCol:={CLR_BLACK, RGB(193,221,255) }

ELSE
   aCol:={CLR_BLACK, RGB(221,245,255) }
ENDIF
RETURN (aCol)
Best Regards, Saludos



Falconi Silvio
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Tue Jan 27, 2009 11:26 AM

Hello Silvio,

Please can You try to add this to Your xBrowse, to test, if Your BMP's are visible ?
I think, the Bar-color covers the BMP.
change < oBrw5 > with Your Browse-object.

// Transparent Row-selection
// -----------------------------------
aeval( oBrw5:aCols, { |o|o:lColTransparent := .t. } )

Regards
Uwe :lol:

Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Tue Jan 27, 2009 12:03 PM
Uwe,
I insert also oCol:lColTransparent := .t. on six and seven column
but it not run

look it please

Best Regards, Saludos



Falconi Silvio
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: TO GURUS : TRANSPARENT ERROR WITH XBROWSE
Posted: Tue Jan 27, 2009 08:54 PM
Hello Silvio,

I have done some more tests :
I created a Main-window with Daniel's sample, after that I added a Dialog-resource
on top of the Window.
For the xBrowse inside the Dialog, I used the same syntax like for the Main-Window.
The xBrowse inside the Main-Window works. Inside the Dialog-resource, the selected
Row didn't show the BMP. I created a Dialog / xBrowse from Source and Resource.
Transparent works inside a Dialog-resource :
aeval( oBrw5:aCols, { |o|o:lColTransparent := .t. } )

Daniel tested with a Window, maybe he has done a sample < Window / Dialog-combination >.
I don't know, why the result is different inside the Dialog, I have done many tests.



Regards
Uwe :-)
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.