Acho que e um Bug...
Se montar o Browse neste formato os descritivos das colunas so aparece se você clicar e segurar sobre as colunas.
Na primeira imagem posicionei sobre os descritivos da coluna e segurei teclado, na segunda imagem nao aparecem os descritivos.
Código: Selecionar todos
@ 13,070 BROWSE oBrw1 DATABASE SIZE 960,310 STYLE WS_TABSTOP ;
ON POSCHANGE {|| EVAL(oBrw2:bFirst), xEAN_DI:=xESTOQUE->EAN ,ESTOQUE_onPosChange(), oBrw2:Refresh(), ThisBUSCA:Refresh() }
oBrw1:nHeadHeight := 25
oBrw1:alias := 'xESTOQUE'
oBrw1:nColumns := 14
oBrw1:freeze := 1
oBrw1:lDispHead := .T.
oBrw1:lSep3d := .T.
oBrw1:lAdjRight := .F.
SELECT (oBrw1:alias)
oBrw1:AddColumn( HColumn():New('EAN' , FieldBlock( 'EAN' ) ,'C',16, 0 ,.F.,0,0,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('Descrição' , FieldBlock( 'DESCRICAO' ), 'C',45, 0 ,.F.,0,0,,,,,,,,,)) // DIREITA
oBrw1:AddColumn( HColumn():New('Fornecedor', FieldBlock( 'FORNECEDOR' ),'C',15, 0 ,.F.,0,0,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('Estoque' , FieldBlock( 'QTDEESTOQU') ,'N',08, 0 ,.F.,2,2,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('Reservado' , FieldBlock( 'QTDEVENDA' ) ,'N',08, 0 ,.F.,2,2,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('Sal Base' , FieldBlock( 'SALBASE' ) ,'C',70, 0 ,.F.,0,0,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('Promoção' , FieldBlock( 'MINIMO' ), 'N',05, 0 ,.F.,1,1,,,,,,,,,)) // ESQUERDA
oBrw1:AddColumn( HColumn():New('Codigo' , FieldBlock( 'CODIGO' ) ,'N',06, 0 ,.F.,0,0,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('P.M.C.' , FieldBlock( 'PRECOMC' ) ,'N',12, 2 ,.F.,2,2,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('Preço Fab' , FieldBlock( 'TABELA01' ) ,'N',12, 2 ,.F.,2,2,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('NCM' , FieldBlock( 'CLFI' ) ,'C',11, 0 ,.F.,2,2,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('CEST' , FieldBlock( 'CEST' ) ,'C',09, 0 ,.F.,2,2,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('P/N/E' , FieldBlock( 'CATEGORIA' ) ,'C',01, 0 ,.F.,2,2,,,,,,,,,))
oBrw1:AddColumn( HColumn():New('E/S/G/O' , FieldBlock( 'TIPO' ) ,'C',01, 0 ,.F.,2,2,,,,,,,,,))
oBrw1:bKeyDown := { |o,key|HB_SYMBOL_UNUSED(o),IIF(key==27,(hwg_EndDialog(oDlg:handle),.F.),a_BrwKeyfun(o,key))}
oBrw1:aColumns[02]:bHeadClick := {|| oBrw1_2_onHeadClick( ) } // 1 - Descricao
oBrw1:aColumns[03]:bHeadClick := {|| oBrw1_3_onHeadClick( ) } // 3 - Fornecedor
oBrw1:aColumns[06]:bHeadClick := {|| oBrw1_6_onHeadClick( ) } // 2 - sAL
oBrw1:aColumns[04]:bHeadClick := {|| oBrw1_4_onHeadClick( ) } // 9 - qtde
oBrw1:nFootRows := 1 // numero de colunas para mostrar os totais no final do browse
oBrw1:acolumns[01]:footing := [ ]
oBrw1:acolumns[02]:footing := [<F5>Descricao <F6>SalBase <F7>Fornecedor]
oBrw1:aColumns[01]:nJusFoot := DT_RIGHT
oBrw1:aColumns[02]:nJusFoot := DT_CENTER
FOR nG := 1 TO 14
oBrw1:aColumns[nG]:bColorFoot := {|ng| {x_BLUE, x_YELLOW} }
NEXT
FOR nI := 1 TO 14
oBrw1:aColumns[nI]:bColorBlock := ; // LETRA CAIXA LET_CX BARRA
{|nI| IF(xESTOQUE->QTDEESTOQU > 0, {x_RED, x_WHITE, x_BLACK, CINZA}, {x_BLACK, x_WHITE, x_BLACK, CINZA} )}
NEXT
oBrw1:aColumns[7]:bColorBlock := ;
{|n| IF( ( xESTOQUE->MINIMO < 10 .AND. xESTOQUE->(QTDEESTOQU-QTDEVENDA) > 0), ;
{x_BLUE, x_WHITE, x_WHITE, CINZA}, {CINZA, CINZA, CINZA, CINZA} )}
oBrw1:Anchor := 15
oBrw1:Refresh()
@ 13,390 BROWSE oBrw2 DATABASE SIZE 960,200 STYLE WS_TABSTOP AUTOEDIT ;
FIRST {|| XARDEX->( DBSEEK(xESTOQUE->(SUBSTR(DESCRICAO,1,49)), .F.) ) } ;
WHILE {|| XARDEX->(SUBSTR(DESCRICAO,1,49)) == xESTOQUE->(SUBSTR(DESCRICAO,1,49))} ;
ON UPDATE {|| kardex_onPosChange() }
oBrw2:nHeadHeight := 24
oBrw2:alias := 'xARDEX'
oBrw2:nColumns := 4
Obrw2:freeze := 1
SELECT (oBrw2:alias)
oBrw2:AddColumn( HColumn():New('Descrição', FieldBlock( 'DESCRICAO' ) ,'C',50, 0 ,.F.,0,0,,,,,,,,,)) // ESQUERDA
oBrw2:AddColumn( HColumn():New('N Lote' , FieldBlock( 'nlote' ) ,'C',20, 0 ,.T.,0,0,,,,,,,,,))
oBrw2:AddColumn( HColumn():New('Validade' , FieldBlock( 'validade') ,'C',10, 0 ,.T.,0,0,'99/9999',,,,,,,,)) // CENTRO
oBrw2:AddColumn( HColumn():New('Qtde' , FieldBlock( 'qtde' ) ,'N',06, 0 ,.T.,1,2,'9999999',,,,,,,,))
oBrw2:acolumns[03]:footing := [Qtde Total: ]
oBrw2:acolumns[04]:footing := TRANSF( fVLR01, [@E 999,999] )
oBrw2:aColumns[03]:nJusFoot := DT_RIGHT
oBrw2:aColumns[04]:nJusFoot := DT_RIGHT
FOR nG := 1 TO 4
oBrw2:aColumns[nG]:bColorFoot := {|ng| {x_BLUE, x_YELLOW} }
NEXT
oBrw2:Anchor := ANCHOR_LEFTABS + ANCHOR_BOTTOMABS //12+ ANCHOR_RIGHTABS
oBrw2:Refresh()