Jump to content
Fivewin Brasil

xBrowse, linha dupla


evertonlb

Recommended Posts

bom dia.

Meu código é esse:

        oXBrw8 := TXBrowse():New( oGrp3 )
        oXBrw8:nMarqueeStyle       := 5
        oXBrw8:nColDividerStyle    := 0
        oXBrw8:nRowDividerStyle    := 1
        oXBrw8:lColDividerComplete := .F.
        oXBrw8:nHeaderLines        := 2
        oXBrw8:nDataLines          := 2
        oXBrw8:lFooter             := .T.
        oXBrw8:nRecSelColor        := 14204813
        oXBrw8:cAlias              := "DISCIPLINA"
        oXBrw8:lRecordSelector     := .t.
        oXBrw8:lHScroll            := .f.                                
        oXBrw8:SetRDD()
        oXBrw8:CreateFromCode()
        oXBrw8:Move( 15.00, 5.00, 450.00, 215.00, .t. )
       
        aCol_oXBrw8[1] := oXBrw8:aCols[1]
           aCol_oXBrw8[1]:nWidth       := 80
           aCol_oXBrw8[1]:cHeader      := "Código"
           aCol_oXBrw8[1]:lHIDE        := .F.
           aCol_oXBrw8[1]:oHeaderFont  := oFONT1
           aCol_oXBrw8[1]:oDataFont    := oFONT1
           aCol_oXBrw8[1]:oFooterFont  := oFONT1
           aCol_oXBrw8[1]:bClrHeader   := {|| { 0, 14204813 } }
           aCol_oXBrw8[1]:bClrFooter   := {|| { 0, 15790320 } }
           aCol_oXBrw8[1]:bClrStd      := {|| { 0, 16777215 } }
           aCol_oXBrw8[1]:bClrSel      := {|| { 0, 6579300 } }
           aCol_oXBrw8[1]:bClrSelFocus := {|| { 0, 10806201 } }

        aCol_oXBrw8[1] := oXBrw8:aCols[3] + CRLF + oXBrw8:aCols[7] 
           aCol_oXBrw8[3]:nWidth       := 280
           aCol_oXBrw8[3]:cHeader      := "Disciplina"
           aCol_oXBrw8[3]:lHIDE        := .F.
           aCol_oXBrw8[3]:oHeaderFont  := oFONT1
           aCol_oXBrw8[3]:oDataFont    := oFONT1
           aCol_oXBrw8[3]:oFooterFont  := oFONT1
           aCol_oXBrw8[3]:bClrHeader   := {|| { 0, 14204813 } }
           aCol_oXBrw8[3]:bClrFooter   := {|| { 0, 15790320 } }
           aCol_oXBrw8[3]:bClrStd      := {|| { 0, 16777215 } }
           aCol_oXBrw8[3]:bClrSel      := {|| { 0, 6579300 } }
           aCol_oXBrw8[3]:bClrSelFocus := {|| { 0, 10806201 } }


		  aCol_oXBrw8[2] := oXBrw8:aCols[2]
        aCol_oXBrw8[2]:lHIDE        := .T.

        aCol_oXBrw8[4] := oXBrw8:aCols[4]
        aCol_oXBrw8[4]:lHIDE        := .T.
 
        aCol_oXBrw8[5] := oXBrw8:aCols[5]
        aCol_oXBrw8[5]:lHIDE        := .T.

        aCol_oXBrw8[6] := oXBrw8:aCols[6]
        aCol_oXBrw8[6]:lHIDE        := .T.

        aCol_oXBrw8[7] := oXBrw8:aCols[7]
        aCol_oXBrw8[7]:lHIDE        := .T.

        oXBrw8:refresh()

Tomara que seja possível colocar as duas linhas de dados...

Link to comment
Share on other sites

Bom dia...acredito que o erro está na forma como vc carrega a xbrowse....é uma forma bem diferente das que eu já vi...interessante ...mas vamos lá. o que acredito ser a mudança para dar certo.

aCol_oXBrw8[1] := oXBrw8:aCols[3]

aCol_oXBrw8[3]:bstrData:= {|| DISCIPLINA-><campo1>+CRLF+DISCIPLINA-><campo2>}

Veja se dá certo.

Link to comment
Share on other sites

Na minha versão 6.12 ou 6.22 (free) tem, dentro do xBrowse.PRG o:

DATA bStrData,; // String data codeblock (returns a string)
bBmpData // Ordinal bitmap data codeblock (returns a
// number in the range 1-len(aBitmaps))

Na realidade, todas as formas que me foi passado, a cima, não deu certo!

tentei várias "variantes", e continuarei tentando... a única coisa que sei é que uma hora e de alguma maneira vai dar certo!

rsrsrsrsrsrsrs

Att.

Link to comment
Share on other sites

Teste esse código

oXBrw8 := TXBrowse():New( oGrp3 )
oXBrw8:nMarqueeStyle := 5
oXBrw8:nColDividerStyle := 0
oXBrw8:nRowDividerStyle := 1
oXBrw8:lColDividerComplete := .F.
oXBrw8:nHeaderLines := 2
oXBrw8:nDataLines := 2
oXBrw8:lFooter := .T.
oXBrw8:nRecSelColor := 14204813
oXBrw8:cAlias := "DISCIPLINA"
oXBrw8:lRecordSelector := .t.
oXBrw8:lHScroll := .f.
oXBrw8:SetRDD(.F.,.T.)

aCol_oXBrw8 := oXBrw8:addcol()
aCol_oXBrw8:cHeader := "Código"
aCol_oXBrw8:bStrdata := {|| DISCIPLINA-><codigo> }
aCol_oXBrw8:nWidth := 80
aCol_oXBrw8:lHIDE := .F.
aCol_oXBrw8:oHeaderFont := oFONT1
aCol_oXBrw8:oDataFont := oFONT1
aCol_oXBrw8:oFooterFont := oFONT1
aCol_oXBrw8:bClrHeader := {|| { 0, 14204813 } }
aCol_oXBrw8:bClrFooter := {|| { 0, 15790320 } }
aCol_oXBrw8:bClrStd := {|| { 0, 16777215 } }
aCol_oXBrw8:bClrSel := {|| { 0, 6579300 } }
aCol_oXBrw8:bClrSelFocus := {|| { 0, 10806201 } }

aCol_oXBrw8 := oXBrw8:addcol()
aCol_oXBrw8:cHeader := "Disciplina"
aCol_oXBrw8:bStrdata := {|| DISCIPLINA-><campo1> + DISCIPLINA-><campo2> }
aCol_oXBrw8:nWidth := 280
aCol_oXBrw8:lHIDE := .F.
aCol_oXBrw8:oHeaderFont := oFONT1
aCol_oXBrw8:oDataFont := oFONT1
aCol_oXBrw8:oFooterFont := oFONT1
aCol_oXBrw8:bClrHeader := {|| { 0, 14204813 } }
aCol_oXBrw8:bClrFooter := {|| { 0, 15790320 } }
aCol_oXBrw8:bClrStd := {|| { 0, 16777215 } }
aCol_oXBrw8:bClrSel := {|| { 0, 6579300 } }
aCol_oXBrw8:bClrSelFocus := {|| { 0, 10806201 } }

oXBrw8:CreateFromCode()
oXBrw8:Move( 15.00, 5.00, 450.00, 215.00, .t. )

Link to comment
Share on other sites

Eu testei, fiz assim:

	oBrw := TxBrowse():New( oDlg )   
	oBrw:CreateFromResource( 4001 )   
	oBrw:cAlias := 'BanClien'   
	oBrw:lFastEdit := .t. 
	*
	ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_COND1	  TITLE "B"					   Size 20  ALIGN CENTERED
   ADD COLUMN TO XBROWSE oBrw DATA "Código : " + StrZero(BanClien->D_NUMERO,5)   TITLE "Nº" SIZE 300 ALIGN LEFT COLOR CLR_RED 
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_NOME     TITLE "Nome Cliente" 	   SIZE 300 ALIGN LEFT     
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_ENDERECO TITLE "Endereço"         SIZE 300 ALIGN LEFT
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_BAIRRO   TITLE "Bairro"           SIZE 200 ALIGN LEFT
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_CIDADE   TITLE "Cidade"           SIZE 200 ALIGN LEFT
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_CPF      TITLE "CPF/CNPJ"     	   SIZE 150 ALIGN LEFT
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_NASCIMEN TITLE "Dt.Nascimento" 	SIZE 090 ALIGN CENTERED
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_TELEFONE TITLE "Telefone"      	SIZE 150 ALIGN LEFT
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_CELULAR  TITLE "Celular"       	SIZE 150 ALIGN LEFT
   ADD COLUMN TO XBROWSE oBrw DATA BanClien->D_EMAIL    TITLE "E-Mail"        	SIZE 200 ALIGN LEFT
	*
	oBrw:aCols[2]:SetColsAsRows (2, 3)

funcionou, só que a linha de baixo (2º) sobrepõe a 1º linha, qual será o problema???

post-6586-0-23516400-1381323214_thumb.png

Link to comment
Share on other sites

oBrw:aCols[1]:bPaintText :={|oCol,hDC,cText,aCoord| PCS_MudaTextoXbrw( oCol, hDC, cText, aCoord, oPub:fNorm12, oPub:CorGet,oPub:CorGetW ) }

**-------------------------------------------------------------------------**
FUNCTION PCS_MudaTextoXbrw( oCol, hDC, cText, aCoord, oFonte,oCor1,oCor2 )
**-------------------------------------------------------------------------**
LOCAL nTop:=aCoord[ 1 ], nLeft := aCoord[ 2 ]
LOCAL nBottom:=aCoord[ 3 ], nRight := aCoord[ 4 ]
LOCAL nRow:= nTop
LOCAL cLine,nFontHt, nAt
LOCAL hBrush:=CreateSolidBrush( oPub:CorBege )

nAt:=AT(CRLF,cText )
IF(nAt>0)
cLine:=Left( cText, nAt - 1 )
SetTextColor( hDC, oCor1 )
nFontHt:=GetTextHeight( oCol:oBrw:hWnd, hDC )

DrawTextEx( hDC, cLine, { nRow, nLeft, nRow + nFontHt + 4, nRight }, oCol:nDataStyle )
nRow +=nFontHt + 4 //default 4
cLine:=SubStr( cText, nAt + 2 )
ELSE
cLine:=cText
ENDIF

DeleteObject( hBrush )
oFonte:Activate( hDC )
SetTextColor( hDC, oCor2 )
DrawTextEx( hDC, cLine, { nRow, nLeft, nBottom, nRight }, oCol:nDataStyle )
oFonte:DeActivate( hDC )

RETURN(NIL)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...