xBrowse - Multiline

Post Reply
User avatar
frose
Posts: 327
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Gütersloh
Contact:

xBrowse - Multiline

Post 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:
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: xBrowse - Multiline

Post 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
 
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: xBrowse - Multiline

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

G. N. Rao.
Hyderabad, India
User avatar
concentra
Posts: 107
Joined: Mon Nov 14, 2005 10:15 am
Location: Brazil

Re: xBrowse - Multiline

Post by concentra »

Hi !

Is it possible that each row dynamically have its own height based on its content ?
Like this:

Image

Regards.
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: xBrowse - Multiline

Post by nageswaragunupudi »

Sorry, no.
Not yet
Regards

G. N. Rao.
Hyderabad, India
User avatar
concentra
Posts: 107
Joined: Mon Nov 14, 2005 10:15 am
Location: Brazil

Re: xBrowse - Multiline

Post by concentra »

nageswaragunupudi wrote:Sorry, no.

Ok.
Not yet

Any chance in the near future ?

[[]] Maurício Faria
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: xBrowse - Multiline

Post by nageswaragunupudi »

Any chance in the near future ?
Yes, but this may not be very soon unless there is demand from many users.
Regards

G. N. Rao.
Hyderabad, India
hua
Posts: 861
Joined: Fri Oct 28, 2005 2:27 am

Re: xBrowse - Multiline

Post 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
FWH 11.08/FWH 19.03
xHarbour 1.2.1 (Rev 6406) + BCC
Harbour 3.1 (Rev 17062) + BCC
Harbour 3.2.0dev (r1904111533) + BCC
User avatar
frose
Posts: 327
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Gütersloh
Contact:

Re: xBrowse - Multiline

Post by frose »

+1
TIA
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: xBrowse - Multiline

Post by leandro »

testxbr6.prg

Image
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: xBrowse - Multiline

Post 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.
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
Jimmy
Posts: 165
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: xBrowse - Multiline

Post 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
greeting,
Jimmy
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: xBrowse - Multiline

Post by nageswaragunupudi »

We will provide this soon.
Regards

G. N. Rao.
Hyderabad, India
Post Reply