Page 1 of 1
xBrowse color
Posted: Sat Jul 14, 2007 12:43 pm
by Willy
Hello,
I am converting to xBrowse.
How can I change the color of the place below the rows if there are less rows than fit in the browse.
Thanks,
Willy
Posted: Mon Jul 16, 2007 8:10 am
by StefanHaupt
Willi,
try oBrw:SetColor (<nFore>,<nBack>)
Posted: Mon Jul 16, 2007 9:35 am
by Willy
Sorry but this does not work.
Only the background of the lines is set.
I want the whole panel colored if there are few lines in the browse.
Example. The brwose has place for 25 lines.
In the beginning there are only 2 records added.
I want that the place below those lines is also colored.
Thanks for the reply Stefan.
Willy
Posted: Mon Jul 16, 2007 10:23 am
by Antonio Linares
Willy,
Class TXBrowse Method Paint() makes this call:
FillRect( ::hDC, GetClientRect( ::hWnd ), ::oBrush:hBrush )
so it should fill all its entire surface
Posted: Tue Jul 17, 2007 5:58 pm
by Willy
Thanks Antonio,
Indeed that line paints the area but when the rows are painted it is overwritten in a blank area.
I Think this is done in the dispend method of the Windows Class.
Is this browse painted correctly in your screens.
I use the xbrowse in a dialog and nog in a window. Could that make a difference.
I do some more tests.
Thanks,
Willy.
Posted: Thu Jul 19, 2007 3:57 pm
by Willy
Antonio,
Is this still a problem everywhere.
Is it possible to paint the whole area in a specified color or am I the first who want to try it.
Thanks,
Willy
Posted: Thu Jul 19, 2007 4:33 pm
by Antonio Linares
Willy,
Are you able to reproduce the bug using samples\TestXBrw.prg ?
Posted: Thu Jul 19, 2007 10:36 pm
by Willy
Antonio,
I tried the testxBrowse program.
I think I found something.
The whole panel is not colored when you use a dialog with resources.
That is exactly what I do in my tests.
In the other screens the screen is paited correctly.
I use Workshop for all my screens. So it is important for me.
Greetings,
Willy
Posted: Thu Jul 26, 2007 6:57 pm
by Willy
Anyone ?
Posted: Thu Jul 26, 2007 10:22 pm
by Antonio Linares
Willy,
Sorry, we have been busy and couldn't test it. We are going to review it asap
Posted: Thu Jul 26, 2007 11:07 pm
by Willy
OK
Posted: Thu Jul 26, 2007 11:09 pm
by Antonio Linares
Willy,
We have modified samples\TestXBrw.prg this way and these are our first results:
Code: Select all
STATIC FUNCTION NewDialog( oWnd )
local oDlg, oBrw
DEFINE DIALOG oDlg RESOURCE "TEST" OF oWnd
oBrw := TXBrowse():New( oWnd )
oBrw:CreateFromResource( 101 )
oBrw:SetArray( { { "first", "row" }, { "second", "row" } } )
oBrw:aCols[ 1 ]:cHeader = "An array"
oBrw:aCols[ 2 ]:cHeader = "test"
oBrw:aCols[ 1 ]:bClrStd = { || { CLR_WHITE, CLR_BLUE } }
oBrw:aCols[ 2 ]:bClrStd = { || { CLR_WHITE, CLR_BLUE } }
ACTIVATE DIALOG oDlg ;
ON INIT oBrw:SetColor( CLR_WHITE, CLR_BLUE )
RETURN NIL
Posted: Fri Jul 27, 2007 7:14 am
by Willy
This is doing the job.
Thanks Antonio.