Page 1 of 1
xBrowse - Multiline
Posted: Fri Feb 12, 2016 11:20 am
by frose
Hi!
is there a builtin function/shortcut to switch from a single line to a multiline xBrowse?
Background: When I was working with my datas, I unintentional switched to a multiline Browse, very nice! But I don't remember the shortcut, thats make me crazy
Re: xBrowse - Multiline
Posted: Fri Feb 12, 2016 3:44 pm
by FranciscoA
Hi, here a Mr. Rao sample:
Code: Select all
Function MultiLineCells()
local oDlg, oBrw, aFont[ 3 ]
local aData := Array( 4, 12 )
local n,i,j
n := 1
for i := 1 to 4
for j := 1 to 10 step 3
// aData[ i, j ] := NToCDOW( ( n - 1 ) % 7 + 1 )
aData[ i, j ] := SpaNumDay( ( n - 1 ) % 7 + 1 )
aData[ i, j + 1 ] := n
aData[ i, j + 2 ] := "Algún texto que puede tomar mas de una linea."
n++
next
next
DEFINE FONT aFont[ 1 ] NAME "TAHOMA" SIZE 0,-16 BOLD
DEFINE FONT aFont[ 2 ] NAME "IMPACT" SIZE 0,-34
DEFINE FONT aFont[ 3 ] NAME "TIMES ROMAN" SIZE 0,-12 ITALIC
DEFINE DIALOG oDlg SIZE 700,500 PIXEL
@ 10,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg DATASOURCE aData AUTOCOLS ;
LINES NOBORDER
WITH OBJECT oBrw
:nWidths := 150
:nRowHeight := 100
for i := 1 to 10 STEP 3
WITH OBJECT :aCols[ i ]
:oDataFont := aFont[ 1 ]
:nDataStrAlign := AL_CENTER
END
WITH OBJECT :aCols[ i + 1 ]
:oDataFont := aFont[ 2 ]
:nDataStrAlign := AL_CENTER
:bClrStd := { || { CLR_HRED, CLR_WHITE } }
END
WITH OBJECT :aCols[ i + 2 ]
:oDataFont := aFont[ 3 ]
:nDataLines := 2 //HERE THE TRICK
END
:aCols[ i ]:SetColsAsRows( i, i + 1, i + 2 )
next
//
:CreateFromCode()
END
ACTIVATE DIALOG oDlg CENTERED
AEval( aFont, { |o| o:End() } )
return nil
Re: xBrowse - Multiline
Posted: Thu Feb 18, 2016 6:19 pm
by nageswaragunupudi
Also
1) For any browse, if you increase oBrw:nRowHeight, any text that does not fit in the present width flow as multi-line text.
2) Even at runtime, if text exceeds the width of any column, the user can increase the row height by dragging the line separator (like Excel) and automatically, the text is displayed as multi-line text.
Re: xBrowse - Multiline
Posted: Thu Nov 14, 2019 9:59 am
by concentra
Hi !
Is it possible that each row dynamically have its own height based on its content ?
Like this:
Regards.
Re: xBrowse - Multiline
Posted: Thu Nov 14, 2019 10:04 am
by nageswaragunupudi
Sorry, no.
Not yet
Re: xBrowse - Multiline
Posted: Thu Nov 14, 2019 12:15 pm
by concentra
nageswaragunupudi wrote:Sorry, no.
Ok.
Not yet
Any chance in the near future ?
[[]] Maurício Faria
Re: xBrowse - Multiline
Posted: Fri Nov 15, 2019 4:28 am
by nageswaragunupudi
Any chance in the near future ?
Yes, but this may not be very soon unless there is demand from many users.
Re: xBrowse - Multiline
Posted: Fri Nov 15, 2019 9:58 am
by hua
concentra wrote:Hi !
Is it possible that each row dynamically have its own height based on its content ?
Like this:
Regards.
+1
Re: xBrowse - Multiline
Posted: Fri Nov 15, 2019 4:29 pm
by frose
+1
TIA
Re: xBrowse - Multiline
Posted: Fri Nov 15, 2019 4:50 pm
by leandro
testxbr6.prg
Re: xBrowse - Multiline
Posted: Fri Nov 15, 2019 5:20 pm
by cnavarro
Leandro, creo que se está hablando de que las líneas puedan tener distintas alturas, no siempre la misma.
I think it's talking about the lines having different heights, not always the same.
Re: xBrowse - Multiline
Posted: Fri Nov 15, 2019 10:16 pm
by Jimmy
hi,
concentra wrote:
Is it possible that each row dynamically have its own height based on its content ?
as i can say you need Ownerdraw to get different hight as "calculation" is done by MeasureItem.
the Trick is like FranciscoA say : switch Font when "calculate"
let say you default Font are "Arial" with 10 Points. now you have 3 Lines -> 30 Point
so when WM_MEASUREITEM is fired set big Font before calculate with GetTextExtentPoint32
at WM_DRAWITEM now DRAWITEMSTRUCT->rcItem have place for 3 x Lines "10.Arial"
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
p.s. perhaps it is better to use NM_CUSTOMDRAW than WM_MEASUREITEM / WM_DRAWITEM
Re: xBrowse - Multiline
Posted: Fri Nov 15, 2019 11:46 pm
by nageswaragunupudi
We will provide this soon.