Clipper On Line • Ver Tópico - Colocando .BMP no Browse em HWGUI

Colocando .BMP no Browse em HWGUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Colocando .BMP no Browse em HWGUI

Mensagempor Fernando queiroz » 10 Jul 2020 19:33

Depois de muito tentar até que consegui colocar .BMP em um BROWSE
tela.jpg


no começo da rotina colocar
Local bCol1 := {|o,h,x1,y1,x2,y2|
   Local oBmp
   hwg_Fillrect( h, x1, y1, x2, y2, oBrowse3:brush:handle )
      oBmp := IF(oBrowse3:aArray[oBrowse3:nCurrent,7] =  '1', HBitmap():AddResource( "goodmark" ), HBitmap():Addresource( "badmark" ) )
      hwg_Drawbitmap( h, oBmp:handle,, x1+20, y1+4, oBmp:nWidth, oBmp:nHeight )
   RETURN Nil
}


depois no browse montar da seguinte forma

      @ 5,357 BROWSE oBrowse3 ARRAY SIZE 1000, 237 ;
         STYLE WS_TABSTOP     
   
      oBrowse3:oStyleHead := HStyle():New( { 0xffffff, 0xbbbbbb }, 1,, 0.4, 16759929 )
      oBrowse3:oFont := HFont():Add( '',0,-15,700,,,)
      oBrowse3:aArray := {}

      oBrowse3:AddColumn( HColumn():New( "",,"C",6,0,,,0, ) )
      oBrowse3:AddColumn( HColumn():New( "RECIBO",hwg_ColumnArBlock(),"N",12,0,.F.,1,2,,,,,,))
      oBrowse3:AddColumn( HColumn():New( "ID",hwg_ColumnArBlock(),"N",12,0,.F.,1,2,,,,,,))
      oBrowse3:AddColumn( HColumn():New( "CLIENTE/FORNECEDOR/VENDEDOR",hwg_ColumnArBlock(),"C",50,0,.F.,,, ) )
      oBrowse3:AddColumn( HColumn():New( "TOTAL",hwg_ColumnArBlock(),'N',16, 2 ,.F.,2,2,'@E 99,999,999,999.99',,,,,,,,,))
      oBrowse3:AddColumn( HColumn():New( "HISTORICO",hwg_ColumnArBlock(),"C",80,0,.F.,,, ) )

      oBrowse3:aColumns[1]:setPaintCB( PAINT_LINE_ALL, bCol1 )


e na carga do BROWSE por ARRAY montar assim, neste caso estou usando o MARIADB

   cQuery1:="SELECT  "
   cQuery1+="movcaixa.TIPMOV, "
   cQuery1+="movcaixa.MOVCAIXA_Id, "
   cQuery1+="movcaixa.CLIFOR, "
   cQuery1+="movcaixa.NRAZ_SOC, "
   cQuery1+="movcaixa.VALOR, "
   cQuery1+="movcaixa.HISTOR "
   cQuery1+="FROM movcaixa "
   cQuery1+="WHERE movcaixa.DATMOV = '" + Hb_DTOC(dDATCAI, "YYYY-MM-DD") + "' AND movcaixa.TURCAI = '" + STRZERO(nTURCAI,1,0) + "'"
   oQuery3:= oServer:Execute(cQuery1)

   DO WHILE ! oQuery3:Eof()
      aAdd( aResult3,{"",;
                  oQuery3:Fields( "MOVCAIXA_Id" ):Value,;
                  oQuery3:Fields( "CLIFOR" ):Value,;
                  oQuery3:Fields( "NRAZ_SOC" ):Value,;
                  oQuery3:Fields( "VALOR" ):Value,;
                  oQuery3:Fields( "HISTOR" ):Value,;
                  oQuery3:Fields( "TIPMOV" ):Value} )

      oQuery3:MoveNext()
   ENDDO

   oBrowse3:aArray := aResult3
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor JoséQuintas » 10 Jul 2020 20:36

Demorei um pouquinho pra entender, mas entendi.

Nesse caso é criado um codeblock, que recebe coordenadas da linha do browse, e faz o desenho.
esta função repete o codeblock pra cada linha do browse, selecionando a imagem conforme foi definido no bcol1.

oBrowse3:aColumns[1]:setPaintCB( PAINT_LINE_ALL, bCol1 )


E é sério, esquema parecido ao da GTWVG.
É interessante.
Acredito que tenha outra forma, pra quando as imagens não seguem um padrão único.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor Itamar M. Lins Jr. » 10 Jul 2020 22:17

Uso, a mais de 6 anos...
Depois posto a tela, estou no linux.
   obitAzul     := hbitmap():AddResource( 'BolaAzul' )
   obitVermelho := hbitmap():AddResource( 'BolaVermelha' )
   obitBranco   := hbitmap():AddResource( 'BolaBranca' )
   obitAmarelo  := hbitmap():AddResource( 'BolaAmarela' )
   obitVerde    := hbitmap():AddResource( 'BolaVerde' )
   obitPreto    := hbitmap():AddResource( 'BolaPreta' )
   obitCinza    := hbitmap():AddResource( 'BolaCinza' )
   oUnlock      := hbitmap():AddResource( 'Unlock' )

     Add columnEx {||" "} to oBrw ;
      Header ' ' Type 'C' Length 2 Picture ' ' ;
      Justify Line DT_RIGHT  Justify Head DT_CENTER

   oBrw:aColumns[2]:aBitmaps := ;
        { { {|| SinalPreto() }, oBitPreto }, { {|| SinalAmarelo() }, oBitAmarelo }, { {|| SinalVermelho() }, oBitVermelho },{ {|| SinalAzul() }, oBitAzul }, { {|| SinalVerde() }, oBitVerde } }

//Criar suas funções da forma que deseja
Static Function SinalVermelho
Local lRet := .f.
if eq->quantidade < 0
        lRet := .t.
endif
return lRet

Fica umas bolinhas coloridas.
Fiz, assim da época que trabalhei na ToTvs...Gostei do browse deles e fiz parecido.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor Fernando queiroz » 10 Jul 2020 22:59

Dei uma modificada criando um ARRAY para guardar os .BMP e vou pegando de acordo com o tipo

   , aBitmaps:={HBitmap():AddResource( "goodmark" ), HBitmap():Addresource( "badmark" ), HBitmap():Addresource( "PEOPLEBMP" ), HBitmap():Addresource( "Remove" )};

Local bCol1 := {|o,h,x1,y1,x2,y2|
   Local oBmp, nBitmaps:=val(oBrowse3:aArray[oBrowse3:nCurrent,7])
      hwg_Fillrect( h, x1, y1, x2, y2, oBrowse3:brush:handle )
         oBmp := aBitmaps[nBitmaps]
         hwg_Drawbitmap( h, oBmp:handle,, x1+20, y1+4, oBmp:nWidth, oBmp:nHeight )
   RETURN Nil
}


tela.jpg


ficou bem interressante
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor Itamar M. Lins Jr. » 10 Jul 2020 23:15

Ola!
Gostei, tá pegando esses bitmaps onde ?

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor Fernando queiroz » 11 Jul 2020 16:07

Itamar M. Lins Jr. escreveu:Ola!
Gostei, tá pegando esses bitmaps onde ?

Saudações,
Itamar M. Lins Jr.


Se você quiser posso te mandar

Disponha
FERNANDO QUEIROZ
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor alxsts » 14 Jul 2020 00:44

Olá!

Muito bom! Parabéns!

Dúvidas:
1 - é possível colocar o bitmap em qualquer coluna? Ou apenas na primeira?
2 - é possível colocar bitmaps em várias colunas, na mesma linha?

Em algum lugar, vi que, na HwGUI, estas possibilidades existem apenas no componente Grid. Gostaria de confirmar.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor Itamar M. Lins Jr. » 14 Jul 2020 01:32

Ola!
Qualquer coluna, e varias colunas. Então 1)sim, 2)sim.

Isso é antigo na Hwgui. Tem exemplo no tutor.
E é no browse que eu uso, nunca usei grid.
Screenshot_20200714_013102.png

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor asimoes » 14 Jul 2020 18:32

Meu exemplo usando jpg, png ou bmp

2020-07-14 18_29_52-Greenshot.png
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Colocando .BMP no Browse em HWGUI

Mensagempor Fernando queiroz » 18 Jul 2020 20:33

DEI uma melhorada no codeblock dos icones

   , aBitmaps:={HBitmap():AddResource( "goodmark" ), HBitmap():Addresource( "badmark" ), HBitmap():Addresource( "PEOPLEBMP" ), HBitmap():Addresource( "Remove" )};

LOCAL bCol1 := {|oBmp, h,x1,y1,x2,y2| oBmp:=aBitmaps[val(oBrowse3:aArray[oBrowse3:nCurrent,7])], ;
                                   hwg_Fillrect( h, x1, y1, x2, y2, oBrowse3:brush:handle ), ;
                                  hwg_Drawbitmap( h, oBmp:handle,, x1+20, y1+4, oBmp:nWidth, oBmp:nHeight ) }
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro