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 :evil:

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:

Image

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:

Image

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

Image

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.