Alain da Silva Posted May 12, 2016 Report Share Posted May 12, 2016 Bom dia, estou testando esse pequeno exemplo com o xbrowse e não aparece o browse. #INCLUDE "FIVEWIN.CH" #INCLUDE "XBROWSE.CH" REQUEST DBFCDX REQUEST HB_CODEPAGE_PT850 REQUEST HB_LANG_PT FUNCTION MAIN() Local oDlg,OBTN1 HB_SETCODEPAGE("PT850") HB_LANGSELECT("PT") SETHANDLECOUNT(255) // NUMERO MAXIMO DE ARQUIVOS ABERTOS RDDSETDEFAULT("DBFCDX") SET EXCL OFF SET CENT ON SET _3DLOOK ON SET DATE BRIT SET EPOCH TO 1980 SET EXAC OFF SET EXCL OFF SET STAT OFF SET CONS OFF SET BELL OFF SET DATE FREN SET WRAP ON SET SCOR OFF SET DELE ON SET DECI TO 2 SET ESCAPE ON SET MULTIPLE ON SETCANCEL(.F.) SET AUTOPEN ON SET EVENTMASK TO 128 && (INKEY_ALL) SET(_SET_EVENTMASK) IF ABRE17()=.F. RETURN(.F.) ENDIF DEFINE ICON oIco FILE "FENIX.ICO" DEFINE DIALOG oDlg STYLE WS_OVERLAPPEDWINDOW ICON oIco oDlg:lHelpIcon:=.f. oDlg:setfont( oFontes ) oDlg:cCaption:='Fenix Sistem@s - Emissor NF-e' @0,10 XBROWSE oBrw OF oDlg; FIELDS 'arqnfe->serie','ARQNFE->NOTA' ; HEADERS 'Série','Nota Fiscal' ; ALIAS "ARQNFE" ; AUTOSORT FASTEDIT LINES CELL if ! Empty( oCol := oBrw:oCol( "Série" ) ) oCol:SetCheck( { "ON", "OFF" } ) oCol:cSortOrder := nil endif @18,5 BUTTON oBTN1 PROMPT "Sair" of oDLG ; ACTION( oDLG:END() ) Activate Dialog oDlg Centered on init (ShowWindow( oDlg:hWnd, 3 ),buildcontrolmenu(odlg),oBrw:SetFocus()) DBCLOSEALL() RELEASE ALL RETURN NIL Return Nil **--------------------------------------------------------------- static FUNCTION ABRE17 SELE 17 USE e:\wfatura\DADOS\ARQNFE INDEX e:\wfatura\DADOS\ARQNFE IF BLOQUEIO()=.F. RETURN(.F.) ENDIF RETURN(.T.) static FUNCTION BLOQUEIO(oArquivo) IF NETERR() MSGINFO("Arquivo Bloqueado p/ Manutenção | "+oArquivo) RETURN(.F.) ENDIF RETURN(.T.) static func buildcontrolmenu(odlg) MENU oMenu MENUITEM "Arquivo" MENUITEM "Versão" ACTION MsgAbout("FiveWin",FWVERSION+" >> "+VERSION()) MENUITEM "Sair" MENU MENUITEM "Retorna ao Menu Principal" resource "SAIRm" action (SAIDLG:=.T.,odlg:END()) endmenu ENDMENU odlg:setmenu(oMenu) obrigado Ronaldbuch 1 Quote Link to comment Share on other sites More sharing options...
joaosolution Posted May 12, 2016 Report Share Posted May 12, 2016 Alain Boa tarde Segue exemplo com browse de vetor. LOCAL aPics := { LoadBitmap( GetResources() , "MARCANAO" ) , ; LoadBitmap( GetResources() , "MARCASIM" ) } REDEFINE LISTBOX oLista FIELDS ; iif(Len(aLista)==0,"",aPics[iif(aLista[oLista:nAt,1]==1,2,1)]),; iif(Len(aLista)==0,"",aLista[oLista:nAt,2]),; iif(Len(aLista)==0,"",aLista[oLista:nAt,3]) ; HEADERS "M","Matricula","Nome" ; ID 150 OF oDlg SIZES 20, 60, 250 oLista:bGoTop = { || oLista:nAt := 1 } oLista:bGoBottom = { || oLista:nAt := Eval( oLista:bLogicLen ) } oLista:bSkip = { | nWant, nOld | nOld := oLista:nAt, oLista:nAt += nWant,; oLista:nAt := Max( 1, Min( oLista:nAt, Eval( oLista:bLogicLen ) ) ),; oLista:nAt - nOld } oLista:bLogicLen = { || Len( aLista ) } oLista:cAlias = "Array" oLista:bLDblClick := {|| aLista[oLista:nAt,1] := iif(aLista[oLista:nAt,1]==1,0,1),; oLista:Refresh() } Mas com banco de dados a ideia é a mesma, vetor com imagens da RC (LoadBitmap), de acordo com a opção você apresenta a imagem na coluna. Neste caso do exemplo se a primeira posição do vetor for 1 mostra a segunda imagem do vetor, caso contrário mostra a primeira. Att João Bosco Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 12, 2016 Author Report Share Posted May 12, 2016 obrigado joão, vou testar Quote Link to comment Share on other sites More sharing options...
kapiaba Posted May 12, 2016 Report Share Posted May 12, 2016 Pasta de c:\fwh1306\samples 08/07/2013 18:46 8.624 testtcbr.dll 08/07/2013 18:46 15.570 testtcbr.prg Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 13, 2016 Author Report Share Posted May 13, 2016 Ajuda com Xbrowse. código acima Quote Link to comment Share on other sites More sharing options...
sistem Posted May 13, 2016 Report Share Posted May 13, 2016 exemplo: @ 0,0 XBROWSE oLbxAgen FIELDS Agen->Cod_Agen,; Agen->Nom_Agen,; Agen->Usu_Agen,; Agen->Tim_Agen; HEADERS "Cód.",; "Agente Cobrador",; "Usuário",; "Data/Hora"; JUSTIFY .f., .f., .f., .f.; FONT oFont ALIAS "AGEN" OF oWndAgen AUTOSORT LINES CELL oLbxAgen:nMarqueeStyle := MARQSTYLE_HIGHLROW oLbxAgen:nColDividerStyle := LINESTYLE_BLACK oLbxAgen:nRowDividerStyle := LINESTYLE_BLACK oLbxAgen:lColDividerComplete := .t. oLbxAgen:lFooter := .t. oLbxAgen:nFreeze := 0 oLbxAgen:bLDblClick := { || EditAgen(oLbxAgen, .f.) } oLbxAgen:bClrSelFocus := {|| { CLR_BLACK, CLR_FOCO } } oLbxAgen:bClrStd := {|| { CLR_WHITE, If((Agen->(ORDKEYNO()))%2==0, CLR_BRW1, CLR_BRW2) } } oLbxAgen:bKeyDown := {|nKey| BrwKeyAgen(nkey, oLbxAgen, oPesqComboAgen) } oLbxAgen:bRClicked := { | nRow, nCol | BrwPopAgen(nRow, nCol, oWndAgen, oLbxAgen ) } oLbxAgen:SetGroupHeader( "CADASTRO AGENTE COBRADOR", 1, 2, oFont4 ) oCol := oLbxAgen:aCols[ 1 ] oCol:cSortOrder := 'AGEN1' ocol:cToolTip:="Clique para ordenar por código" oCol := oLbxAgen:aCols[ 2 ] oCol:cSortOrder := 'AGEN2' ocol:cToolTip:="Clique para ordenar por descrição" oLbxAgen:SetRDD() oLbxAgen:CreateFromCode() oWndAgen:oClient := oLbxAgen ACTIVATE WINDOW oWndAgen MAXIMIZED ON INIT (oLbxAgen:SetFocus(), oLbxAgen:Refresh()) VALID(oLbxAgen:End(), .t.) Return Nil Quote Link to comment Share on other sites More sharing options...
Valdir Posted May 13, 2016 Report Share Posted May 13, 2016 Acredito que esteja faltando isso: @0,10 XBROWSE oBrw OF oDlg;FIELDS 'arqnfe->serie','ARQNFE->NOTA' ;HEADERS 'Série','Nota Fiscal' ;ALIAS "ARQNFE" ;AUTOSORT FASTEDIT LINES CELLoBrw:CreateFromCode() oBrw:SetFocus() um abraço Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 13, 2016 Author Report Share Posted May 13, 2016 @ 0,0 XBROWSE oLbxAgen FIELDS; arqnfe->serie,; arqnfe->nota,; arqnfe->dtemissao,; arqnfe->destinata,; Transf(ARQNFE->VALORTOTAL,"@E 999,999.99"); HEADERS; 'Série',; 'Nota Fiscal',; 'Dt.Emissão',; 'Destinatário',; 'Valor NFe'; JUSTIFY .f., .T., .T., .f.,.T.; FONT oFontes ALIAS "ARQNFE" OF ODLG AUTOSORT LINES CELL oLbxAgen:nMarqueeStyle := MARQSTYLE_HIGHLROW oLbxAgen:nColDividerStyle := LINESTYLE_BLACK oLbxAgen:nRowDividerStyle := LINESTYLE_BLACK oLbxAgen:lColDividerComplete := .t. oLbxAgen:lFooter := .t. oLbxAgen:nFreeze := 0 oLbxAgen:bLDblClick := { || MSGINFO("DUPLI CLICK")} oLbxAgen:bClrSelFocus := {|| { CLR_BLACK, AZULXP } } oLbxAgen:bClrStd := {|| { PRETO, If((ARQNFE->(ORDKEYNO()))%2==0, CINZACL, CINZATL) } } oLbxAgen:bKeyDown := {|nKey| MSGINFO("TECLA")} oLbxAgen:bRClicked := { | nRow, nCol | MSGINFO("UM CLICK")} oLbxAgen:SetGroupHeader( "GERENCIAMENTO DE NOTAS", 1, 5, BOOK18 ) oCol := oLbxAgen:aCols[ 1 ] oCol:cSortOrder := 'PED1' ocol:cToolTip:="Clique para ordenar por código" oCol := oLbxAgen:aCols[ 2 ] oCol:cSortOrder := 'PED8' ocol:cToolTip:="Clique para ordenar por descrição" oCol := oLbxAgen:aCols[ 4 ] oCol:cSortOrder := 'PED2' ocol:cToolTip:="Clique para ordenar por descrição" oLbxAgen:SetRDD() oLbxAgen:CreateFromCode() odlg:oClient := oLbxAgen * oLbxAgen:aCols[1 ]:SetCheck( {"sim","nao"}, {|o,u| o:Value( u ) } ) Atualizando o código, Ele coloca um browse na tela toda. Como eu delimito o tamanho do browse? Como eu coloco um checkbox? Como eu faço pra ja entrar com oCol := oLbxAgen:aCols[ 2 ] ativo? obrigado Quote Link to comment Share on other sites More sharing options...
aferra Posted May 13, 2016 Report Share Posted May 13, 2016 Como eu delimito o tamanho do browse?R: retire "odlg:oClient := oLbxAgen" Como eu coloco um checkbox? // somente assim vc terá o checkbox padrão do fivewin oLbxAgen:aCols[1 ]:SetCheck() //agora irei te falar como funciona o SetCheck()oLbxAgen:aCols[1 ]:SetCheck( <{"imagem1","imagem2"}>, {|oBrw,lVAr| <sua_funcao( oBrw, lVar)>} ) o primeiro são as imagens do checkbox, se voce quiser usar os proprios o segundo é um codeblock o primeiro parametro é o objeto browse e o segundo é o click ou seja .T. ou .F. // voce pode usar assim tb que fica a imagem padrao e usa a sua função oLbxAgen:aCols[1 ]:SetCheck( , {|oBrw,lVAr| <sua_funcao( oBrw, lVar)>} ) Como eu faço pra ja entrar com oCol := oLbxAgen:aCols[ 2 ] ativo? eu não entendi a sua pergunta Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 14, 2016 Author Report Share Posted May 14, 2016 Obrigado pela ajuda Alessandro, eu nunca utilizei o xbrowse. Quanto ao tamanho do browse ok, funcionou. Tem como colocar o tamanho da largura do tamanho do vídeo? of odlg lines cell size 700,250 Ainda não consegui fazer funcionar o check. olbx:acols[1]:setcheck( , { | olbx,v | msginfo("teste") } ) (não acontece nada!!!) é assim? Quote Link to comment Share on other sites More sharing options...
aferra Posted May 15, 2016 Report Share Posted May 15, 2016 em como colocar o tamanho da largura do tamanho do vídeo? of odlg lines cell size oDlg:nWidth,250 Ainda não consegui fazer funcionar o check. olbx:acols[1]:setcheck( , { | olbx,v | msginfo("teste") } ) (não acontece nada!!!) é assim? o pq, veja que vc colocou o mesma variavel do codeblock que o objeto então vc poderia colocar assim olbx:acols[1]:setcheck( , { | oBrw,v | msginfo("teste") } ) Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 15, 2016 Author Report Share Posted May 15, 2016 Valeu pela ajuda Alessandro, ainda não funcionou o check e nem o tamanho. @ 10,0 XBROWSE oLbx FIELDS; str(arqnfe->serie,3),; arqnfe->nota,; arqnfe->dtemissao,; subs(arqnfe->destinata,1,60),; Transf(ARQNFE->VALORTOTAL,"@E 999,999.99"),; ALLTRIM(ARQNFE->PLACA)+"-"+ARQNFE->NOMET; HEADERS; 'Serie',; 'Nota Fiscal',; 'Dt.Emissão',; 'Destinatário',; 'Valor NFe',; 'Placa/Motorista'; JUSTIFY .T.,.t., .T., .T., .f.,.T.,.f.; FONT oFontes ALIAS "ARQNFE" OF ODLG LINES CELL Size oDlg:nWidth,180 oLbx:aCols[1 ]:SetCheck(, {|obrw,v| msginfo("teste") } ) oLbx:nMarqueeStyle := MARQSTYLE_HIGHLROW oLbx:nColDividerStyle := LINESTYLE_BLACK oLbx:nRowDividerStyle := LINESTYLE_BLACK oLbx:lColDividerComplete := .t. oLbx:lFooter := .t. oLbx:nFreeze := 0 oLbx:bLDblClick := { || MSGINFO("DUPLI CLICK")} oLbx:bClrSelFocus := {|| { CLR_BLACK, AZULXP } } oLbx:bClrStd := {|| { PRETO, If((ARQNFE->(ORDKEYNO()))%2==0, CINZACL, CINZATL) } } oLbx:bKeyDown := {|nKey| MSGINFO("TECLA")} oLbx:bRClicked := { | nRow, nCol | MSGINFO("UM CLICK")} oLbx:SetGroupHeader( "GERENCIAMENTO DE NOTAS", 1, 6, BOOK18 ) oCol:= oLbx:aCols[ 2 ] oCol:cSortOrder := 'PED1' ocol:cToolTip:="Clique para ordenar por código" oCol:= oLbx:aCols[ 3 ] oCol:cSortOrder := 'PED8' ocol:cToolTip:="Clique para ordenar por descrição" oCol:= oLbx:aCols[ 4 ] oCol:cSortOrder := 'PED2' ocol:cToolTip:="Clique para ordenar por descrição" oLbx:CreateFromCode() Quote Link to comment Share on other sites More sharing options...
aferra Posted May 15, 2016 Report Share Posted May 15, 2016 OK primeiro, o campo tem que ser lógico, não o sendo, não vai funcionar. segundo, o tamanho eu fiz um teste e não vai funciona, a não ser que vc coloque no on init da dialog, mas na minha sincera opinião não é viável. então vai ter que chegar na unha o tamanho do browse Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 15, 2016 Author Report Share Posted May 15, 2016 Valeu Alessandro, estou abusando do seu conhecimento. Agora apareceu o check [ ]. não sei se é assim quando eu clico em cima não acontece nada. quando dou dois cliques entra na função msginfo("teste") mas a caixa não fica marcada. é assim mesmo? Como eu coloco imagem? Outra assunto, estou testando as opções porque pretendo usar esse browse no sistema todo. Como eu coloco o rodapé? Na TWBrowse que eu usava era assim: *------------------------//RODAPE TOTAL OBRWVEN6:lDrawFooters := .T. // Ativa o footer OBRWVEN6:nClrFFore :={|| VERMELHO} OBRWVEN6:nClrFBack :={|| GetSyscolor(15)} OBRWVEN6:nFooterHeight :=21 OBRWVEN6:nFooterStyle :=2 OBRWVEN6:nFooterHeight :=20 OBRWVEN6:aFJustify :={1,1,0,1,2,2,1,1,1,1,1,1,1,2,0,0,0} OBRWVEN6:aFooters :={||{"","","","","","",Transf(WQUANT,"@E 999,999.9999"),"",Transf(WUNIT,"@E 999,999.99"),Transf(WDESC,"@E 999,999.99"),Transf(WBASE,"@E 999,999.99"),"",Transf(WICMS,"@E 999,999.99"),"",Transf(WIPI,"@E 999,999.99")}} OBRWVEN6:SetSize(50,6,.t.) e agora essa opção não esta funcionando, será que coloquei alguma coisa a mais que parou? //---------------------------------------------------------------------------------------------- oCol:=oLbx:aCols[3] oCol:cSortOrder := 'PED1' ocol:cToolTip:="Clique para ordenar por Nota Fiscal" oCol:=oLbx:aCols[4] oCol:cSortOrder := 'PED8' ocol:cToolTip:="Clique para ordenar por Data" Obrigado Quote Link to comment Share on other sites More sharing options...
aferra Posted May 16, 2016 Report Share Posted May 16, 2016 bom, se entendi vc colocou o campo como logico, então use somente assim oLbx:aCols[1 ]:SetCheck() não sei pq vc quer ver a mensagem.se for para testes o teste é ver marcado, certo?! qual o tipo de indice vc usa, se for ntx, pelo que estou vendo, não sei te informar como usar, com cdx basta colocar a TAG do indice. Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 16, 2016 Author Report Share Posted May 16, 2016 Alessandro era só pra ver se funcionava. Mudei ainda não funciona. E o indice é cdx. ele só aparece no taquele "^" na coluna Nota fiscal, na emissão não aparece e também não acontece nada ao clicar na coluna, antes ele muda o índice. acho que coloquei alguma coisa que parou. @ 10,0 XBROWSE oLbx FIELDS; arqnfe->marca,; str(arqnfe->serie,3),; arqnfe->nota,; arqnfe->dtemissao,; subs(arqnfe->destinata,1,60),; Transf(ARQNFE->VALORTOTAL,"@E 999,999.99"),; ALLTRIM(ARQNFE->PLACA)+"-"+ARQNFE->NOMET; HEADERS; '',; 'Serie',; 'Nota Fiscal',; 'Dt.Emissão',; 'Destinatário',; 'Valor NFe',; 'Placa/Motorista'; JUSTIFY .t.,.T., .T., .T., .f.,.T.,.f.; FONT oFontes ALIAS "ARQNFE" OF ODLG LINES CELL Size 650,180 oLbx:aCols[1]:SetCheck() * oLbx:aCols[1]:SetCheck(, {|obrw,v| msginfo("teste") } ) oLbx:bClrSel := {|| {CLR_WHITE,nRGB(145,145,255)}} oLbx:bClrSelFocus := {|| {CLR_WHITE,nRGB(000,120,180)}} oLbx:nMarqueeStyle := MARQSTYLE_HIGHLROW oLbx:nColDividerStyle := LINESTYLE_BLACK oLbx:nRowDividerStyle := LINESTYLE_BLACK oLbx:lColDividerComplete := .t. oLbx:lFooter := .t. oLbx:nFreeze := 0 oLbx:bLDblClick := { || MSGINFO("DUPLI CLICK")} oLbx:bClrStd := {|| { PRETO, If((ARQNFE->(ORDKEYNO()))%2==0, CINZACL, CINZATL) } } oLbx:bKeyDown := {|nKey| MSGINFO("TECLA")} oLbx:bRClicked := { | nRow, nCol | MSGINFO("UM CLICK")} oLbx:SetGroupHeader( "GERENCIAMENTO DE NOTAS", 1, 7, BOOK18 ) //---------------------------------------------------------------------------------------------- oCol:=oLbx:aCols[ 3 ] oCol:cSortOrder := 'PED1' ocol:cToolTip:="Clique para ordenar por Nota Fiscal" Quote Link to comment Share on other sites More sharing options...
aferra Posted May 16, 2016 Report Share Posted May 16, 2016 acrescente oLbx:lFastEdit := .T. Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 16, 2016 Author Report Share Posted May 16, 2016 Alessando deve ter alguma coisa errada no código. Ainda não funciona. DEFINE ICON oIco FILE "FENIX.ICO" DEFINE DIALOG oDlg STYLE WS_OVERLAPPEDWINDOW ICON oIco oDlg:lHelpIcon:=.f. oDlg:setfont( oFontes ) oDlg:cCaption:='Fenix Sistem@s - Emissor NF-e' @ 3,1 GROUP oGrp PROMPT "Emitente" OF odlg SIZE 500, 25 PIXEL @ 12,5 say "Razão Social: VALPANEMA FLORESTAL LTDA" OF ODLG SIZE 200, 13 PIXEL FONT FNORMALSAY @ 12,200 say "CNPJ: 43.198.696/0004-68" OF ODLG SIZE 100, 13 PIXEL FONT FNORMALSAY @ 12,350 SAY "IE: 570.006.243.110" of odlg SIZE 60, 13 pixel FONT FNORMALSAY @ 30,1 GROUP oGrp PROMPT "Filtro de Pesquisa Dinâmica" OF odlg SIZE 500,100 PIXEL @ 45,5 say "Período" OF ODLG SIZE 200, 13 PIXEL FONT FNORMALSAY @ 65,5 say "Série" OF ODLG SIZE 200, 13 PIXEL FONT FNORMALSAY //gets----------------------------------------------- @45,45 get oGet1 var oDat bitmap ".\image\calen.bmp" action "" of oDlg pixel size 50,12 @ 10,0 XBROWSE oLbx FIELDS; arqnfe->marca,; str(arqnfe->serie,3),; arqnfe->nota,; arqnfe->dtemissao,; subs(arqnfe->destinata,1,60),; Transf(ARQNFE->VALORTOTAL,"@E 999,999.99"),; ALLTRIM(ARQNFE->PLACA)+"-"+ARQNFE->NOMET; HEADERS; ' ',; 'Serie',; 'Nota Fiscal',; 'Dt.Emissão',; 'Destinatário',; 'Valor NFe',; 'Placa/Motorista'; JUSTIFY .T.,.T.,.T.,.T.,.F.,.T.,.F.; FONT oFontes ALIAS "ARQNFE" OF ODLG LINES CELL Size 500,180 oLbx:aCols[1]:SetCheck() oLbx:lFastEdit := .T. oLbx:bClrSel := {|| {CLR_WHITE,nRGB(000,120,180)}} oLbx:bClrSelFocus := {|| {CLR_WHITE,XPAZUL}} oLbx:nMarqueeStyle := MARQSTYLE_HIGHLROW oLbx:nColDividerStyle := LINESTYLE_BLACK oLbx:nRowDividerStyle := LINESTYLE_BLACK oLbx:lColDividerComplete := .t. oLbx:lFooter := .t. oLbx:nFreeze := 0 oLbx:bLDblClick := { || MSGINFO("DUPLI CLICK")} oLbx:bClrStd := {|| { PRETO, If((ARQNFE->(ORDKEYNO()))%2==0, CINZACL, CINZATL) } } oLbx:bKeyDown := {|nKey| MSGINFO("TECLA")} oLbx:bRClicked := { | nRow, nCol | MSGINFO("UM CLICK")} oLbx:SetGroupHeader( "GERENCIAMENTO DE NOTAS", 1, 7, BOOK18 ) //---------------------------------------------------------------------------------------------- oCol:=oLbx:aCols[3] oCol:cSortOrder := 'PED1' ocol:cToolTip:="Clique para ordenar por Nota Fiscal" oCol:=oLbx:aCols[ 4 ] oCol:cSortOrder := 'PED8' ocol:cToolTip:="Clique para ordenar por Data" oCol:=oLbx:aCols[ 5 ] oCol:cSortOrder := 'PED2' ocol:cToolTip:="Clique para ordenar por Destinatário" oLbx:SetRDD() oLbx:CreateFromCode() @18,0 BUTTON oBTN1 PROMPT "Validar" of oDLG SIZE 40, 13 ; ACTION( oDLG:END() ) @18,7 BUTTON oBTN2 PROMPT "Assinar" of oDLG SIZE 40, 13 ; ACTION( oDLG:END() ) @18,14 BUTTON oBTN1 PROMPT "Transmitir" of oDLG SIZE 40, 13 ; ACTION( oDLG:END() ) @18,23 BUTTON oBTN3 PROMPT "Pré-Visualizar DANFE" of oDLG SIZE 60, 13 ; ACTION( oDLG:END() ) @18,33.4 BUTTON oBTN4 PROMPT "Imprimir DANFE" of oDLG SIZE 60, 13 ; ACTION( oDLG:END() ) @18,43.8 BUTTON oBTN5 PROMPT "Consultar na SEFAZ" of oDLG SIZE 60, 13 ; ACTION "" @18,55 BUTTON oBTN6 PROMPT "Cancelar NF-e" of oDLG SIZE 60, 13 ; ACTION( oDLG:END() ) @18,65.4 BUTTON oBTN7 PROMPT "Carta de Correção" of oDLG SIZE 60, 13 ; ACTION( oDLG:END() ) @18,94 BUTTON oBTN8 PROMPT "Finalizar" of oDLG SIZE 60, 13 ; ACTION( oDLG:END() ) Activate Dialog oDlg Centered on init (ShowWindow( oDlg:hWnd, 3 ),buildcontrolmenu(odlg)) não funciona o order, clico na coluna e não acontece nada. não funciona o check, clico e não fica marcado. Quote Link to comment Share on other sites More sharing options...
aferra Posted May 16, 2016 Report Share Posted May 16, 2016 rapaz.....vamos tentar uma coisa... depois de muito estudar, testar, essa foi a maneira que encontrei de usar a xbrowse usando o dbf. @ 10,00 XBROWSE oLbx SIZE 500,180 PIXEL OF oDlgCli1 ALIAS "ARQNFE" FOOTER FASTEDIT AUTOSORT LINES CELL ADD COLUMN TO XBROWSE oLbx DATA marca HEADER " " CENTER ADD COLUMN TO XBROWSE oLbx DATA serie HEADER "Serie" ADD COLUMN TO XBROWSE oLbx DATA nota HEADER "Nota Fiscal" ORDER "PED1" ADD COLUMN TO XBROWSE oLbx DATA dtemissao HEADER "Dt.Emissão" ORDER "PED8" ADD COLUMN TO XBROWSE oLbx DATA destinata HEADER "Destinatário" ORDER "PED2" ADD COLUMN TO XBROWSE oLbx DATA VALORTOTAL HEADER "Valor NFe" PICTURE "@E 999,999.99" ADD COLUMN TO XBROWSE oLbx DATA PLACA + "-" + NOMET HEADER "Placa/Motorista" oLbx:lHScroll := .F. oLbx:nMarqueeStyle := MARQSTYLE_HIGHLROW oLbx:lRecordSelector := .F. oLbx:nColDividerStyle := LINESTYLE_BLACK oLbx:nRowDividerStyle := LINESTYLE_BLACK oLbx:lColDividerComplete := .T. oLbx:lAllowColSwapping := .F. oLbx:lAllowRowSizing := .F. oLbx:lAllowColHiding := .F. oLbx:nStretchCol := 2 oLbx:bClrSel := {|| {CLR_WHITE,nRGB(000,120,180)}} oLbx:bClrSelFocus := {|| {CLR_WHITE,XPAZUL}} oLbx:bClrStd := {|| { PRETO, If((ARQNFE->(ORDKEYNO()))%2==0, CINZACL, CINZATL) } } oLbx:lVThumbTrack := .T. oLbx:bLDblClick := { || MSGINFO("DUPLI CLICK")} oLbx:bKeyDown := {|nKey| MSGINFO("TECLA")} // tirado, pode ser o problema oLbx:bRClicked := { | nRow, nCol | MSGINFO("UM CLICK")} oLbx:aCols[1]:SetCheck() oLbx:aCols[3]:cToolTip:="Clique para ordenar por Nota Fiscal" oLbx:aCols[4]:cToolTip:="Clique para ordenar por Data" oLbx:aCols[5]:cToolTip:="Clique para ordenar por Destinatário" oLbx:SetGroupHeader( "GERENCIAMENTO DE NOTAS", 1, 7, BOOK18 ) oLbx:CreateFromCode() Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 16, 2016 Author Report Share Posted May 16, 2016 Alessandro obrigado pela ajuda, dessa forma com ADD COLUMN acho que ficou até mais fácil, agora... no click não funciona. mas esta mostrando quando o campo esta verdadeiro, ai coloquei a função aqui oLbx:bLDblClick := { || GRAVAMARCA(OLBX)} refresco o browse e funciona. Esta funcionando também os índices. Então mais uma vez obrigado, vou pesquisar agora como colocar imagem e um rodapé no browse. vlz Quote Link to comment Share on other sites More sharing options...
aferra Posted May 16, 2016 Report Share Posted May 16, 2016 acho que achei o problema! comente essa linha oLbx:bLDblClick := { || MSGINFO("DUPLI CLICK")} e faça assim no setcheck oLbx:aCols[1]:SetCheck(,{ || GRAVAMARCA(OLBX)}) depois me retorne... Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 16, 2016 Author Report Share Posted May 16, 2016 Alessandro se eu coloco sa linhas oLbx:bLDblClick := { || MSGINFO("DUPLI CLICK")} Lbx:aCols[1]:SetCheck(,{ || GRAVAMARCA(OLBX)}) ele só entra no duplo click e não entra no check se deixo somente a linha do setcheck ele funciona. Funciona igual ao duplo click. Desde que eu de dois cliques, ai ele entra na função e grava .t. na marca. Quote Link to comment Share on other sites More sharing options...
aferra Posted May 16, 2016 Report Share Posted May 16, 2016 o setcheck é com dois cliques mesmo...é isso ai deu certo agora...não sei se é o que vc precisava, porem...ai acredito que não dê para usar todos juntos ao mesmo tempo, rsrsrsrsrsrs ... vai perguntando. Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted May 17, 2016 Author Report Share Posted May 17, 2016 Valeu Alessandro, funcionou sim. Ja coloquei rodapé. Agora imagens... Eu fiz alguns testes com imagens porém sem sucesso. //--------------------------------------------// ok fucionando porém a imagem que aparece dentro do browse é um quadrado ***** * olbx:aCols[ 2 ]:nEditType := EDIT_BUTTON * olbx:aCols[ 2 ]:bEditBlock := {|nRow, nCol, oCol| oCol:Value := cGetFile( "*.*", "Select a file" ) } * olbx:aCols[ 2 ]:AddBmpFile( "d:\wfatura\image\EMAIL.bmp" ) * olbx:aCols[ 2 ]:nHeadBmpNo := 1 //-------------------------------------------** esse do menu é interessante porém não aparece imagem * olbx:aCols[2]:nEditType := TYPE_IMAGE * OLBX:aCols[2]:lBmpStretch := .t. * OLBX:aCols[ 2 ]:lBmpTransparent := .t. * OLBX:aCols[2]:bStrImage := {|oCol, OLBX| OLBX:aRow[ 2 ] } * OLBX:aCols[2]:nDataBmpAlign := AL_CENTER * OLBX:aCols[2]:bPopUp := { | o | ColMenu( o ) } * OLBX:aCols[2]:bAlphaLevel := { | o | o:OLBX:aRow[ 3 ] } //-------------------------------------------*** não acontece nada * olbx:aCols[ 2 ]:nEditType := 1 * olbx:aCols[ 2 ]:bOnPostEdit := {|oCol, xVal, nKey| oCol:Value( xVal ) } * olbx:aCols[ 2 ]:AddBmpFile("d:\wfatura\image\EMAIL.bmp" ) * olbx:aCols[ 2 ]:nFootBmpNo := 1 //------------------------------------------- *** não acontece nada * olbx:aCols[ 2 ]:addbmpfile("d:\wfatura\image\EMAIL.bmp" ) * olbx:aCols[ 2 ]:lBtnTransparent := .t. * olbx:aCols[ 2 ]:nBtnBmp := 1 //--------------------------------------- minha idéia inicial era testar o campo email, se "S" imagem se "N" sem imagem. Quote Link to comment Share on other sites More sharing options...
aferra Posted May 17, 2016 Report Share Posted May 17, 2016 Tente assim olbx:aCols[2]:addbmpfile("d:\wfatura\image\EMAIL.bmp" ) olbx:aCols[2]:bBmpData := {|| 1 } olbx:aCols[2]:nDataBmpAlign := AL_RIGHT agora para testar faça assim olbx:aCols[2]:addbmpfile("d:\wfatura\image\EMAIL.bmp" ) olbx:aCols[2]:addbmpfile(<aqui tem que colcoar uma imagem com o fundo do browse> ) olbx:aCols[2]:bBmpData := {|| IF( <variavel> == "S", 1, 2 ) } olbx:aCols[2]:nDataBmpAlign := AL_RIGHT o do menu eu nunca usei por coluna tenho que fazer testes para te falar algo, e nem sei se vale a pena, mas kda um tem sua ideia...amanhã te falo... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.