Browse da Hwgui que acho simples de fazer.

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Browse da Hwgui que acho simples de fazer.

Mensagem por Fernando queiroz »

teste.jpg
esta tela consulta letra a letra por ID, NOME CLIENTE, CPF/CNPJ, FONE e ele esta sempre classificada por NOME CLIENTE
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: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Browse da Hwgui que acho simples de fazer.

Mensagem por Fernando queiroz »

TESTE2.jpg
pesquisando por MARCE , já traz todos os nomes que tem MARCE em qualquer posição
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: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Browse da Hwgui que acho simples de fazer.

Mensagem por Fernando queiroz »

teste3.jpg
mesma tela pesquisando pelo telefone continua classificado pelo nome mas a pesquisa é automática por outro campo
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Browse da Hwgui que acho simples de fazer.

Mensagem por deividdjs »

boa noite itamar .. blz ?? tu pode compartilhar o codigo de como tu vez o zebrado e as cores ? ficou bem legal .. gostaria de por no meu browse ...

Abraço!!

Deivid
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Browse da Hwgui que acho simples de fazer.

Mensagem por Itamar M. Lins Jr. »

Olá!
Então, começa : @ nColuna, nLinha browse ... etc
Depois as colunas, -> Add Column ... etc
E depois as cores e a ordem quando clicar no head do browse.

Código: Selecionar todos

   For n:=1 to 16
      oBrw:aColumns[n]:bHeadClick := {|oBj,nCol| OrdEstoque(oBj,nCol,oBrw,cBrwModelo,oDlg) }
   Next
   
   For n := 1 to 15
     oBrw:aColumns[n]:bColorBlock := {|| CoresEstoque(oBrw) }
   Next
Dai na FUNÇÃO CoresEstoque vc coloca o ARRAY de CORES. São 3 X 3 e não 2 x 2 como tem exemplo por ai.

Código: Selecionar todos

***************************
Function CoresEstoque(oBrw)
***************************
*
LOCAL aCor:= IF(MOD(oBrw:nPaintRow, 2) = 0, {hwg_BLACK, hwg_ALICEBLUE,0, hwg_ALICEBLUE, hwg_WHITE, hwg_GREEN}, + ;
                                            {hwg_BLACK, hwg_WHITE , 0, hwg_WHITE, hwg_WHITE, hwg_GREEN }) 

if eq->quantidade < 0   //Vermelho
   aCor := if(mod(oBrw:nPaintRow,2)=0, {hwg_RED, hwg_ALICEBLUE,0, hwg_CYAN,hwg_WHITE, hwg_DARKBLUE}, + ;
                                       {hwg_RED, hwg_WHITE,0, hwg_WHITE, hwg_WHITE, hwg_DARKBLUE })
   RETURN aCor
endif
Return aCor
Vc pode por, cores diferentes para as situações ai.
No arquivo nome_do_exe.ch ou no própio PRG. Pq vc chama para os diversos .prg se precisar.

Código: Selecionar todos

#define hwg_ALICEBLUE  16775408
#define hwg_BANANA      5754851
#define hwg_BISQUE_1   12903679
#define hwg_BLACK             0
#define hwg_BLUE       16711680
#define hwg_BROWN       2763429
#define hwg_CYAN       16776960
#define hwg_DARKBLUE   10027008
#define hwg_GREEN         32768
#DEFINE hwg_GREEN_4       35584
#define hwg_GRAY        8421504
#define hwg_SILVER_1   0x787878
#DEFINE hwg_MINT       13237437
#define hwg_ORANGE        42495
#define hwg_RED             255
#define hwg_YELLOW        65535
#define hwg_WHITE      16777215
#define hwg_light_goldenrod_1 	9170175
E as bolinhas é assim:
Na primeira coluna do browse vc coloca só essa linha ai de baixo.

Código: Selecionar todos

      Add Column {||" "} to oBrw  Header ' ' Type 'C' Length 2 Justify Line DT_RIGHT Justify Head DT_CENTER
E no final no mesmo lugar dos comandos para ZEBRAR e ORDENAR.

Código: Selecionar todos

   oBrw:aColumns[1]:aBitmaps := ;
	{ { {|| SinalPreto() }, oBitPreto }, { {|| SinalAmarelo() }, oBitAmarelo }, { {|| SinalVermelho() }, oBitVermelho },{ {|| SinalAzul() }, oBitAzul }, { {|| SinalVerde() }, oBitVerde } } 
E a função mais abaixo com as situações.

Código: Selecionar todos

Static Function SinalPreto
Local lRet := .f.
if eq->(deleted())
	lRet := .t.
endif
return lRet
Conforme for! Então vc tem os recursos das cores e dos BITMAPS para melhorar os recursos do sistema.

Saudações,
Itamar M. LIns Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Browse da Hwgui que acho simples de fazer.

Mensagem por Itamar M. Lins Jr. »

Olá!
Vc pode zebrar uma coluna, duas... toda a linha do browse. conforme vc viu nos códigos.

Depende do FOR NEXT, inclusive PULAR. coluna 1, 3, 8

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Browse da Hwgui que acho simples de fazer.

Mensagem por Itamar M. Lins Jr. »

Olá!
Sim já ia me esquecendo, no inicio do PRG a chamada dos BITMAPS.

Código: Selecionar todos

 
local obitAzul     := hbitmap():AddResource( 'BolaAzul' )
local obitVermelho := hbitmap():AddResource( 'BolaVermelha' )
local obitBranco   := hbitmap():AddResource( 'BolaBranca' )
local obitAmarelo  := hbitmap():AddResource( 'BolaAmarela' )
local obitVerde    := hbitmap():AddResource( 'BolaVerde' ) 
local obitPreto    := hbitmap():AddResource( 'BolaPreta' )
local obitCinza    := hbitmap():AddResource( 'BolaCinza' )
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
SOSSOFT
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 23 Out 2024 10:04

Browse da Hwgui que acho simples de fazer.

Mensagem por SOSSOFT »

A apresentação deste browse do Fernando queiroz está muito boa, simples e fácil de visualizar, gostei do exemplo
Responder