Browse da Hwgui que acho simples de fazer.

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

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 »

fiz a alteração no arquivos .RC e mesmo assim não mostra as imagens maiores 64x64 trazendo do .RC .... os bmps pequenos sim 21x 18 ... (imagem tela2) icones extraido do .RC

CONTROLE.RC

Código: Selecionar todos

1   24   "WindowsXP.Manifest"


CLIENTES     BITMAP  "imagem\\clientes.bmp"
FORNECEDORES BITMAP  "imagem\\fornecedores.bmp"
PRODUTOS     BITMAP  "imagem\\produtos.bmp"
COMPRAS      BITMAP  "imagem\\compras.bmp"
VENTAS       BITMAP  "imagem\\ventas.bmp"
RECEBER      BITMAP  "imagem\\ctas_receber.bmp"
PAGAR        BITMAP  "imagem\\ctas_pagar.bmp"
EXIT         BITMAP  "imagem\\cmdExit.bmp"
                     
SMEXIT3      BITMAP  "imagem\\smexit3.bmp" 
SMOPEN       BITMAP  "imagem\\smopen.bmp"
SMSAVE       BITMAP  "imagem\\smsave.bmp"
SMCANCEL     BITMAP  "imagem\\smcancel.bmp"
BMP_NEW      BITMAP  "imagem\\bmp_new.bmp"
BMP_EDIT     BITMAP  "imamge\\bmp_edit.bmp"
Anexos
tela 2
tela 2
tela 2.png (5.22 KiB) Exibido 3644 vezes
tela
tela
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
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 »

não sei o q fiz aqui mais agora funcionou !! vai entender !

ficou assim ..

CONTROLE.RC

Código: Selecionar todos

1   24   "WindowsXP.Manifest"

CLIENTES     BITMAP  "imagem\\clientes.bmp"
FORNECEDORES BITMAP  "imagem\\fornecedores.bmp"
PRODUTOS     BITMAP  "imagem\\produtos.bmp"
COMPRAS      BITMAP  "imagem\\compras.bmp"
VENTAS       BITMAP  "imagem\\ventas.bmp"
RECEBER      BITMAP  "imagem\\ctas_receber.bmp"
PAGAR        BITMAP  "imagem\\ctas_pagar.bmp"
EXIT         BITMAP  "imagem\\cmdExit.bmp"
SMEXIT3      BITMAP  "imagem\\smexit3.bmp" 
SMOPEN       BITMAP  "imagem\\smopen.bmp"
SMSAVE       BITMAP  "imagem\\smsave.bmp"
SMCANCEL     BITMAP  "imagem\\smcancel.bmp"
BMP_NEW      BITMAP  "imagem\\bmp_new.bmp"
BMP_EDIT     BITMAP  "imagem\\bmp_edit.bmp"

Código: Selecionar todos

   @ 1,-1 TOOLBAR oToolbar1  SIZE hwg_Getdesktopwidth(), 105 STYLE TBSTYLE_LIST + TBSTYLE_AUTOSIZE //+ WS_DLGFRAME
   oToolbar1:anchor := 11 // 9

   @ 8,7 OWNERBUTTON oOwnerbutton1  OF oToolbar1 SIZE 99,90 ON CLICK {|| DB_CADCLI() }    ;
        TEXT 'Clientes'  ;
        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
        COORDINATES 0, 72, 0, 0  ; 
        BITMAP HBitmap():AddResource("clientes") TRANSPARENT  ; 
		  COORDINATES 0, 5, 0, 0 ; 
        TOOLTIP 'Registro de Clientes'

   @ 110,7 OWNERBUTTON oOwnerbutton2  OF oToolbar1 SIZE 99,90    ;
        TEXT 'Proveedores'  ;
        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
        COORDINATES 0, 72, 0, 0  ;
        BITMAP HBitmap():AddResource("fornecedores") TRANSPARENT  ; 
        COORDINATES 0, 5, 0, 0 ; 
        TOOLTIP 'Registro de Proveedores'
        oOwnerbutton2:Anchor := 48             

   @ 212,7 OWNERBUTTON oOwnerbutton5  OF oToolbar1 SIZE 99,90    ;
        TEXT 'Productos'  ;
        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
        COORDINATES 0, 72, 0, 0  ;
        BITMAP HBitmap():AddResource('produtos') TRANSPARENT  ; 
        COORDINATES 0, 5, 0, 0 ; 
        TOOLTIP 'Registro de Productos'
        oOwnerbutton5:Anchor := 48 

   @ 314,7 OWNERBUTTON oOwnerbutton3  OF oToolbar1 SIZE 99,90    ;
        TEXT 'Ventas'  ;
        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
        COORDINATES 0, 72, 0, 0  ;
        BITMAP HBitmap():AddResource('ventas') TRANSPARENT  ; 
        COORDINATES 0, 5, 0, 0 ; 
        TOOLTIP 'Punto de Venta'
        oOwnerbutton3:Anchor := 48 

   @ 416,7 OWNERBUTTON oOwnerbutton4  OF oToolbar1 SIZE 99,90    ;
        TEXT 'Compras'  ;
        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
        COORDINATES 0, 72, 0, 0  ;
        BITMAP HBitmap():AddResource('compras') TRANSPARENT  ; 
        COORDINATES 0, 5, 0, 0 ; 
        TOOLTIP 'Orden de Compras'
        oOwnerbutton4:Anchor := 48 

   @ 518,7 OWNERBUTTON oOwnerbutton6  OF oToolbar1 SIZE 99,90    ;
        TEXT 'Cuentas a Recibir'  ;
        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
        COORDINATES 0, 72, 0, 0  ;
        BITMAP HBitmap():AddResource('receber') TRANSPARENT  ; 
        COORDINATES 0, 5, 0, 0 ; 
        TOOLTIP 'Cuentas a Recibir'
        oOwnerbutton6:Anchor := 48 

   @ 620,7 OWNERBUTTON oOwnerbutton7  OF oToolbar1 SIZE 99,90    ;
        TEXT 'Cuentas a Pagar'  ;
        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
        COORDINATES 0, 72, 0, 0  ;
        BITMAP HBitmap():AddResource('pagar') TRANSPARENT  ; 
        COORDINATES 0, 5, 0, 0 ; 
        TOOLTIP 'Cuentas a Pagar'
        oOwnerbutton7:Anchor := 48  

   @ 1235,6 OWNERBUTTON oOwnerbutton8 OF oToolbar1 SIZE 99,90 ON CLICK {|| FinalizarSistema()} ;
        TEXT 'Salir' ;
        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
        COORDINATES 0, 72, 0, 0  ;
        BITMAP HBitmap():AddResource('exit') TRANSPARENT  ; 
        COORDINATES 0, 22, 0, 0 ;
        TOOLTIP 'Salir del Sistema'
		  oOwnerbutton1:Anchor := 48 
TELA

Obrigado Zé cê é o cara irmão .. abraço !
Anexos
teste controle hwgui.png
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Browse da Hwgui que acho simples de fazer.

Mensagem por JoséQuintas »

E difícil mas não impossível...
Talvez a compilação incremental estivesse aproveitando a compilação do resource anterior.
E numa compilação completa, recompilou também o resource.

Melhor pensar assim, do que achar que consertou sozinho sem explicação.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
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 »

Tive esse problema e resolvi assim:

coloquei todo os ícones na pasta resource igual voce fez com imagem, dentro dessa pasta também coloquei o meu arquivo .RC e no .BAT de compilação eu chamo esse arquivo ex: .\resource\sgc.rc, pois se ele estiver dentro da mesma pasta dos fontes ele não encontra os arquivos BMP mesmo que coloque o patch todo, a nao ser como o quintas falou.
tela1.jpg
tela2.jpg
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Browse da Hwgui que acho simples de fazer.

Mensagem por JoséQuintas »

Teve uma época que eu testei mais de um compilador.
Era um saco fazer cada um de um jeito.
Então pesquisei algum jeito em comum, e encontrei esse da "\\".

Código: Selecionar todos

APP_MANIFEST RT_MANIFEST "resource\\exe.manifest"

AppIcon          ICON     "ico\\icoJPA.ico"

icoAddList       ICON     "ico\\icoAddList.ico"
icoAnp           ICON     "ico\\icoAnp.ico"
icoBalloon       ICON     "ico\\icoBalloon.ico"
icoBarCode       ICON     "ico\\icoBarCode.ico"
icoBuild         ICON     "ico\\icoBuild.ico"
icoBook          ICON     "ico\\icoBook.ico"
icoBoxFilled     ICON     "ico\\icoBoxFilled.ico"
Lembrando:

Uso GTWVG !!!
Pois é... mesmo que não seja a lib preferida, há sempre algo útil em comum.

No dlgauto também, pra hwgui, minigui, fivewin.

Código: Selecionar todos

#define RT_MANIFEST 24
#define APP_MANIFEST 1
APP_MANIFEST RT_MANIFEST "..\\resource\\exe.manifest"

AppIcon       ICON   "..\\resource\\icoGrid.ico"
bmpfolder     BITMAP "..\\resource\\bmpfolder.bmp"
bmpsearch     BITMAP "..\\resource\\bmpsearch.bmp"
...
Detalhe: o nome AppIcon
É selecionado automaticamente como ícone do aplicativo.
Também encontrei isso nas pesquisas da época.
appicon.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 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 »

alguem sabe como destacar a posição que você está ?? no tutor ele aparece que a linha azul destacada no get e o mesmo codigo compilado dentro do meu sistema não destaca ..

inclusive até o designer da janela é diferente ...

abs!
Anexos
meu sistema
meu sistema
tutor hwgui
tutor hwgui
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
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 »

encontrei o problema .. é o .MANIFEST, qual codigo XML vocês usam no manifest para ficar 100% ??

achei esse aqui e parece q ficou legal agora ...

Código: Selecionar todos

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
   <assemblyIdentity
      name="test"
      processorArchitecture="x86"
      version="0.0.0.0"
      type="win32"
      />
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
		<security>
			<requestedPrivileges>
				<requestedExecutionLevel
               level="asInvoker"
               uiAccess="false"
            />
			</requestedPrivileges>
		</security>
	</trustInfo>
   <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
      <application>
         <!-- Windows 10 -->
         <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
         <!-- Windows 8.1 -->
         <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
         <!-- Windows 8 -->
         <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
         <!-- Windows 7 -->
         <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
         <!-- Windows Vista and Windows Server 2008 R2 -->
         <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
         <!-- Windows XP ignores this section -->
      </application>
   </compatibility>
	<dependency>
		<dependentAssembly>
			<assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="*"
            publicKeyToken="6595b64144ccf1df"
            language="*" />
		</dependentAssembly>
	</dependency>
</assembly>
abs!
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Browse da Hwgui que acho simples de fazer.

Mensagem por JoséQuintas »

É disto que está dizendo ?

Código: Selecionar todos

   hwg_SetColorInFocus( .T., COLOR_BLACK,COLOR_YELLOW )
Só não vale pra 100% das coisas.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 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 »

não zé ... se tu observar os dois forms .. vai ver q um tem uma tarja azul no get e ele acompanha o foco do cursor ( olha o botao do radiobutton tbm ) ... e no outro não tinha .. mais era problema com o Manifest mesmo .. ja solucionei ! obrigado irmao ! abs
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Browse da Hwgui que acho simples de fazer.

Mensagem por alxsts »

Olá!
deividdjs escreveu:se tu observar os dois forms .. vai ver q um tem uma tarja azul no get e ele acompanha o foco do cursor ( olha o botao do radiobutton tbm ) ...
Este traço azul denota o edit box ativo no momento. É o padrão do Windows 11 quando se aplica o arquivo .manifest...
[]´s
Alexandre Santos (AlxSts)
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 »

Galera .. duvida cruel .. ja fiz de tudo e não consigo ...

Tenho uma tela de clientes com varios (PAGE) e no page1 eu coloco meu browse .. coloquei uns radiobuttons para selecionar a ordem e ativar o GET de pesquisa (oEdit1_pesquisar) .. até aí tudo bem funciona ..
fiz ele focar no browse da forma q eu quero ..perfeito!! porem quando eu clico no GET de pesquisa direto ele não ativa o get de forma alguma ... alguem pode me dar uma luz ai por favor ?? segue o codigo ....

Código: Selecionar todos

******************************************************************************
** TBROWSER CLIENTES **
**********************
#include "hwgui.ch"
#include "windows.ch"

STATIC oBrw , ThisForm

PROCEDURE DB_CADCLI(oMainWnd)  // Função principal de cadastro de clientes
    
   PRIVATE oDlgClientes, oTab, oPanel1
   PRIVATE oOwnerbutton1, oRadiobutton1, oOwnerbutton2, oRadiobutton2 , oOwnerbutton3, oOwnerbutton4
   PRIVATE vEdit1_pesquisar := "", vRadiogroup1 := 1
   PRIVATE oEdit1_pesquisar, oRadiogroup1, oGroup1    

	// Cria o diálogo e centraliza ele na janela principal
	INIT DIALOG oDlgClientes ;
	   CLIPPER NOEXIT TITLE "Registro de Clientes" ;
	   AT 0, 0 ;
	   SIZE 1200, 650 ;
	   FONT oFontDlg ;
	   STYLE WS_POPUP + WS_CAPTION + DS_SYSMODAL + DS_CENTER + WS_SYSMENU + WS_SIZEBOX; //	   ON INIT {|| oTab:oBrw:SetFocus()}
		 
	   ThisForm := oDlgClientes

   @ 5,5 TAB oTab ITEMS {} SIZE 1188, 615 ;   
	      ON SIZE ANCHOR_TOPABS + ANCHOR_LEFTABS + ANCHOR_RIGHTABS + ANCHOR_BOTTOMABS ;//         ON INIT {|oCtrl| oCtrl:bChange:={|o,nPage| ABA_TAB(oDlgClientes,nPage) } }
	   	ON GETFOCUS { || oBrw:SetFocus()};
	
	BEGIN PAGE "Consulta" OF oTab
	 
	   hwg_SetColorInFocus( .T., COLOR_BLACK,COLOR_YELLOW )
	   
		@ 01,25 PANEL oPanel1 SIZE 1182,60    ; //		  HSTYLE HStyle():New( {16770002,16772062}, 1,, 0.4, 16759929 );
	           
		@ 2,6 OWNERBUTTON oOwnerbutton1  OF oPanel1 SIZE 62,50 ;//ON CLICK {|| ThisForm:CLOSE() } ;
	        TEXT 'Incluir' COORDINATES 0, 28, 0, 0  ;
	        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
	        BITMAP HBitmap():AddResource('bmp_new') COORDINATES 0, 5, 0, 0 TRANSPARENT COLOR 12632256  ; 
	        TOOLTIP "Incluir Cliente"
	
		@ 67,6 OWNERBUTTON oOwnerbutton2  OF oPanel1 SIZE 62,50 ;//ON CLICK {|| ThisForm:CLOSE() } ;
	        TEXT 'Alterar' COORDINATES 0, 28, 0, 0  ;
	        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
	        BITMAP "bmp_edit" FROM RESOURCE COORDINATES 0, 5, 0, 0 TRANSPARENT COLOR 12632256;
	        TOOLTIP "Alterar datos del Cliente"

		@ 132,6 OWNERBUTTON oOwnerbutton3  OF oPanel1 SIZE 62,50 ;//ON CLICK {|| ThisForm:CLOSE() } ;
	        TEXT 'Eliminar' COORDINATES 0, 28, 0, 0  ;
	        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
	        BITMAP "smcancel" FROM RESOURCE COORDINATES 0, 5, 0, 0 TRANSPARENT COLOR 12632256;
	        TOOLTIP "Borrar Registro"

		@ 1120,6 OWNERBUTTON oOwnerbutton4  OF oPanel1 SIZE 62,50 ON CLICK {|| hwg_EndDialog(oDlgClientes:handle()) } ;
	        TEXT 'Salir' COORDINATES 0, 28, 0, 0  ;
	        FONT HFont():Add( 'MS Sans Serif',0,-11,400,,,) ;
	        BITMAP "smexit" FROM RESOURCE COORDINATES 0, 5, 0, 0 TRANSPARENT COLOR 12632256;
			  TOOLTIP "Salir del los registros" 

	   @ 338,1 GET RADIOGROUP oRadiogroup1 VAR vRadiogroup1  ;
	           CAPTION "Orden" OF oPanel1  SIZE 250,56;
				     
		   @ 342,14 RADIOBUTTON oRadiobutton1 CAPTION "&Nombre" OF oPanel1  SIZE 90,22;
			         ON CLICK {|| ORDSETFOCUS("CLICX_02"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() } ;
			         
		   @ 342,33 RADIOBUTTON oRadiobutton2 CAPTION "Nombre &Fantasia" OF oPanel1  SIZE 90,22;  
		            ON CLICK {|| ORDSETFOCUS("CLICX_06"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() };
		            
		   @ 450,33 RADIOBUTTON oRadiobutton3 CAPTION "&RUC" OF oPanel1  SIZE 90,21 ;  
		            ON CLICK {|| ORDSETFOCUS("CLICX_09"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() } ;
		   
			@ 450,14 RADIOBUTTON oRadiobutton4 CAPTION "&Código" OF oPanel1  SIZE 90,22  ;
			         ON CLICK {|| ORDSETFOCUS("CLICX_03"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() };
 		
	   END RADIOGROUP SELECTED vRadiogroup1 
	
	   @ 649,1 GROUPBOX oGroup1 CAPTION "&Búsqueda" OF oPanel1 SIZE 389,55 STYLE BS_LEFT 

		@ 655,47 GET oEdit1_pesquisar VAR vEdit1_pesquisar PICTURE "@!" SIZE 371,22 MAXLENGTH 30 ;
		         VALID {|| If( hwg_GetKeyState( VK_RETURN ) < 0, ;
		        ( PesquisaClientesBrowse( oEdit1_pesquisar:GetText(), oBrw ), oBrw:Refresh(), .t. ), .t. ) } ;
		        ON CHANGE {|| PesquisaClientesBrowse( oEdit1_pesquisar:GetText(), oBrw ), .t. }
    
  		  BrowserCliente()
      
   END PAGE OF oTab

   BEGIN PAGE "Datos Cadastrales" OF oTab
   END PAGE OF oTab

   BEGIN PAGE "Movimientos" OF oTab
   END PAGE OF oTab

   BEGIN PAGE "Pedidos" OF oTab
   END PAGE OF oTab

   BEGIN PAGE "Facturas" OF oTab
   END PAGE OF oTab

   BEGIN PAGE "Productos" OF oTab
   END PAGE OF oTab

	ACTIVATE DIALOG oDlgClientes
   
   
RETURN Nil  
BROWSE

Código: Selecionar todos

*------------------------------------------------------*
 FUNCTION BrowserCliente()
*------------------------------------------------------*

LOCAL aCamp, aCab, aPict, nLast, nRec := 1 , n1
LOCAL cFieldName, nWidth, nDec, cType, oColuna
LOCAL aContas := {} 

KSETCAPS(.T.)  

if PAR->CC_PAIS = "B" // Brasil
   aCamp := {;
         "CC_CODCLI",;
         "CC_NOME",;
         "CC_TELCOM",;
         {||IIF(CC_FJ <> SPACE(01), IIF( CC_FJ = 'J','JURIDICA','FISICA  '),'        ')},;
         "CC_FANTAS",;
         {||IIF(CC_CPF # SPACE(11), TRANSFORM(CC_CPF,"@R 999.999.999-99    "),TRANSFORM(CC_CGC,"@R 99.999.999/9999-99"))},;
         "CC_END",;
         "CC_CID",;
         "CC_CEP",;
         "CD_DTCAD",;
         "CC_HORCAD",;
         "CC_USUCAD"}
         
   aTam := {;
         "06",;
         "41",;
         "14",;
         "11",;
         "41",;
         "41",;
         "13",;
         "31",;
         "11",;
         "11",;
			"11",;
         "11"}

   aCab := {;
         "Cód.",;
         "Razão Social / Nome do Cliente",;
         "Telefone",;
         "Física/Jurídica",;
         "Fantasia",;
         "CPF/CNPJ",;
         "Endereço",;
         "Cidade",;
         "CEP",;
         "Registro",;
         "Horário",;
         "Operador"}

   aPict := {;
         "99999",;
         "@!",;
         "@R",;
         "@!",;
         "@!",;
         "@!",;
         "@!",;
         "@!",;
         "@R",;
         "@D",;
         "99:99:99",;
         "@!"}

else // Paraguai
   aCamp := {;
         "CC_CODCLI",;
         "CC_NOME",;
         "CC_TELCOM",;
         "CC_RUC",;
         {||IIF(CC_FJ <> SPACE(01), IIF( CC_FJ = 'J','JURIDICA','FISICA  '),'        ')},;
         "CC_FANTAS",;
         "CC_END",;
         "CC_CID",;
         "CD_DTCAD",;
         "CC_HORCAD",;
         "CC_USUCAD"}
         
   aTam := {;
         "06",;
         "41",;
         "14",;
         "15",;
         "09",;
         "41",;
         "36",;
         "21",;
         "11",;
         "11",;
         "11"}

   aCab := {;
         "Cód.",;
         "Nombre del Cliente",;
         "Teléfono",;
         "R.U.C.",;
         "Tipo",;
         "Fantasia",;
         "Dirección",;
         "Ciudad",;
         "Registro",;
         "Hora",;
         "Usuario"}

   aPict := {;
         "99999",;
         "@!",;
         "@R",;
         "@!",;            
         "@!",;
         "@!",;
         "@!",;
         "@!",;
         "@D",;
         "99:99:99",;
         "@!"}
endif


@ 2, 85 BROWSE oBrw DATABASE OF oTab SIZE 1182, 540 STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL ;
        ON SIZE ANCHOR_TOPABS + ANCHOR_LEFTABS + ANCHOR_RIGHTABS + ANCHOR_BOTTOMABS ;
        ON RIGHTCLICK{|| ClickDireito(oDlgClientes,oBrw), oDlgClientes:oPopup:Show( oDlgClientes ) };
	     FONT HFont():Add( 'Courier New', 0, -13, 400,,, ); //	ON CLICK{|| oEdit1_pesquisar:show(), oEdit1_pesquisar:SetFocus() };//	ON INIT {|| oEdit1_pesquisar:show(), oEdit1_pesquisar:SetFocus() };
        ON UPDATE {|| oBrw:REFRESH() } 
   
        hwg_SetDlgKey( ThisForm, 0, VK_F12, {|| oEdit1_pesquisar:SetFocus() } )   

oBrw:alias := 'CLI'

oBrw:bKeyDown := { |o, key| IF(key == 27, (hwg_EndDialog(oDlgClientes:handle), .F.), .T.) }
//oBrw:oStyleHead := HStyle():New( { 0xffffff, 0xbbbbbb }, 1,, 0.4, X_BLUE )	
oBrw:nColumns := LEN(aCamp)
oBrw:freeze := 2
oBrw:lDispHead := .T.
oBrw:lSep3d := .T.
oBrw:lAdjRight := .F. 

oBrw:bPosChanged := {||n1 := oBrw:nCurrent}

   // Increase the vertical padding in a browse cells
//   oBrw:aPadding[2] := oBrw:aPadding[4] := 4

SELECT (oBrw:alias)
ORDSETFOCUS("CLICX_02")
nLast := LASTREC()
dbGoTop()

aContas := CarregarContasClientes() // carrega clientes com contas atrasadas na array

FOR i := 1 TO LEN(aCamp)             

    // Pegando as informações do campo baseado na posição
    cFieldName := FIELDNAME(i)   // Nome do campo
    nWidth     := FIELDLEN(i)    // Largura do campo
    nDec       := FIELDDEC(i)    // Casas decimais do campo (se houver)
    cType      := IF(FIELDTYPE(i) == "N", 'N', 'C')  // Tipo do campo (Numérico ou Caractere)

    IF VALTYPE(aCamp[i]) == "B"
        oBrw:AddColumn( HColumn():New( aCab[i], (aCamp[i]), cType, val(aTam[i]), nDec, .F., 0, 0,, 0, aPict[i] ) )
    ELSE
        oBrw:AddColumn( HColumn():New( aCab[i], FieldBlock(aCamp[i]), cType, val(aTam[i]), nDec, .F., 0, 0,, 0, aPict[i] ) )
    ENDIF

NEXT

BEGIN SEQUENCE
   bColorBlock :={|| IIF(ClienteAtrasado(CLI->cc_codcli, aContas),{255, 16777215 ,16777215,255 },{0,16777215,, }) }
   RECOVER
   bColorBlock :={|| {0,16777215,16777215,0 } }
END SEQUENCE

FOR EACH oColuna IN oBrw:aColumns
   oColuna:bColorBlock := bColorBlock
NEXT
  
  
//   @ 18,535 SAY "Registros : " + ALLTRIM(STR(nLast)) OF oTab SIZE 170,22 TRANSPARENT

/*			
   @ 260,410 BUTTON oBtn1 CAPTION "&OK " SIZE 80,26 ;
         ON CLICK {|| hwg_EndDialog()}

   @ 0, 520 PANEL oTbar1 SIZE 600, 26

   @ 17,510 SAY oLbl1 CAPTION "Registros :" OF oTbar1 SIZE 70,22

   @ 85,500 OWNERBUTTON o_Obtn1 OF oTbar1 SIZE 20,20     ;
        BITMAP "imagem\smfirst.bmp";// TRANSPARENT		  COORDINATES 0,2,0,0 ;
        ON CLICK {|| BrowseMove(oBrw, "Home", oEdGoto, "Dbs" ) };
        TOOLTIP "Primeiro Registro"

   @ 105,500 OWNERBUTTON o_Obtn2 OF oTbar1 SIZE 20,20    ;
        BITMAP "imagem\smprev.bmp";// TRANSPARENT 		  COORDINATES 0,2,0,0 ;
        ON CLICK {|| BrowseMove(oBrw, "Up", oEdGoto, "Dbs" ) } ;
        TOOLTIP "Anterior"

   @ 130,500 GET oEdGoto VAR nRec OF oTbar1 SIZE 80,22 ;
        MAXLENGTH 09 PICTURE "999999999" ;
        STYLE WS_BORDER + ES_LEFT ;
        VALID {||GoToRec(oBrw, @nRec, nLast, "Dbs")}

   @ 270,502 SAY oLbl2 CAPTION " of " + ALLTRIM(STR(nLast)) OF oTbar1 SIZE 70,22

   @ 215,500 OWNERBUTTON o_Obtn3 OF oTbar1 SIZE 20,20   ;
        BITMAP "imagem\smnext.bmp";//		  COORDINATES 0,2,0,0 ;
        ON CLICK {|| BrowseMove(oBrw, "Down", oEdGoto, "Dbs" ) } ;
        TOOLTIP "Proximo"

   @ 235,500 OWNERBUTTON o_Obtn4 OF oTbar1 SIZE 20,20   ;
        BITMAP "imagem\smlast.bmp";//		  COORDINATES 0,2,0,0 ;
        ON CLICK {|| BrowseMove(oBrw, "End", oEdGoto, "Dbs" ) } ;
        TOOLTIP "Ultimo Registro"
*/

  
// Exemplo: configurar uma coluna para exibir um total no rodapé
//oBrw:nFootRows := 2 // linha de rodapé
//ON POSCHANGE {|| oBrw:aColumns[2]:footing := LTrim(Str( RecNo(),8))+ "/" +LTrim(Str( Lastrec(),8))  } ;
oBrw:aColumns[1]:footing := []
//oBrw:aColumns[2]:footing := LTrim(Str( RecNo(),8))+ "/" +LTrim(Str( Lastrec(),8))
//oBrw:aColumns[4]:footing := "Total: " + ALLTRIM(STR(nLast)) //OF oTab SIZE 170,22 TRANSPARENT    


//oBrw:aColumns[1]:oFont := HFont():Add( '',0,-15,700,,,)

oBrw:Anchor := 15       
oBrw:Refresh()
RETURN Nil       
//----------------------------------------------------------------------------------------------------


CRIEI ESSA FUNÇÃO DENTRO DO BROWSE (F12) quando pressiono funciona perfeitamente tbm ...

hwg_SetDlgKey( ThisForm, 0, VK_F12, {|| oEdit1_pesquisar:SetFocus() } )

porem se eu usar o mouse pra clicar no GET DE PESQUISA .... sem chances não habilita nem com reza ...

se alguem aí expert no asunto poder me dar uma força .. ficarei muito grato!

Saludos!!

Deivid
Anexos
tela
tela
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á!
Acredito que o GroupBox está em cima do get!
Use @ 655,47 GET ... OF oGroup1

Por favor ABRA NOVAS POSTAGENS, não use essa daqui para tudo. Esse tópico está cheio de questões fora do escopo.


Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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 »

Itamar M. Lins Jr. escreveu:Olá!
Acredito que o GroupBox está em cima do get!
Use @ 655,47 GET ... OF oGroup1

Por favor ABRA NOVAS POSTAGENS, não use essa daqui para tudo. Esse tópico está cheio de questões fora do escopo.


Saudações,
Itamar M. Lins Jr.
bom dia Itamar, obrigado pela rápida resposta .. é bem isso mesmo não fazia ideia q dava pra por 'OF xxxobj' no get tbm ... agora clareou mais as coisas ainda mais rsrs .. devagar vou aprendendo !! porem se eu coloco 'OF oGroup1' ele não aparece o GET .. tenho q colocar oPanel1 .. aí sim .. neste caso ele não faz parte do Groupbox certo ? e por qual motivo ele some ?? tem ideia ? .... isso ocorre com os radiobutton tbm ..

ah! e desculpa de por aqui minhas duvidas ... é q ja estava no embalo e o pessoal respondendo aqui ... porém nas próximas abrirei novas abas ..

Abraço,
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Browse da Hwgui que acho simples de fazer.

Mensagem por JoséQuintas »

As teclas para o edit passam pelo parent.
groupbox não foi feito pra tratar teclas, por isso elas se perdem.
parent também é o container, aonde fica o outro controle, e a posição em cada controle começa no zero.
Se não cabe no controle, não aparece.

Pois é... api windows nem sempre é o que parece.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
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 »

Caro colega, tem formas mais fáceis de fazer sua tela , não precisa colocar aqueles radio button para classificar o browse, use a próprio header para fazer isso, outra opção e fazer a consulta letra a letra em todos os campos que podem ser pesquisados, a sua tela fica mais limpara e muito mais pratica de utilizar.
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Responder