foco no browse, dialog com button e browse

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

foco no browse, dialog com button e browse

Mensagem por JoséQuintas »

browse.png
Encontrei esse, mas só a primeira parte não resolve o problema.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

foco no browse, dialog com button e browse

Mensagem por JoséQuintas »

Código: Selecionar todos

#include "hwgui.ch"

PROCEDURE Test

  LOCAL xDlg, xBtn, xBrow


  CreateDbf()

   USE test
   INIT DIALOG xDlg ;
      TITLE "browse" ;
      AT 0, 0 ;
      SIZE 1024, 768

   @ 5, 5 BUTTON xbtn CAPTION "Sair" OF xDlg SIZE 50, 20 ON CLICK { || hwg_EndDialog() }

   @ 30, 30 BROWSE xBrow DATABASE SIZE 800, 800 ;
      ON CLICK { || hwg_EndDialog() }
   xBrow:Alias := "test"
   xBrow:bKeyDown := { | o, k | (o), iif( k == VK_RETURN, hwg_EndDialog(), Nil ), .T. }

   ADD COLUMN { || test->Name }  TO xBrow HEADER "NAME"  LENGTH 20
   ADD COLUMN { || test->Other } TO xBrow HEADER "OTHER" LENGTH 20


   ACTIVATE DIALOG xDlg ON ACTIVATE { || xDlg:xBrow:SetFocus() }

   RETURN


STATIC FUNCTION CreateDbf()

   dbCreate( "test.dbf", { ;
      { "NAME", "C", 20, 0 }, ;
      { "OTHER", "C", 20, 0 } } )
   USE test
   APPEND BLANK
   REPLACE NAME WITH "primeiro", OTHER WITH "primeiro"
   APPEND BLANK
   REPLACE NAME WITH "segundo", OTHER WITH "segundo"
   USE

   RETURN Nil
Criei um exemplo isolado, neste o foco continua no button, vai entender.....
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

foco no browse, dialog com button e browse

Mensagem por JoséQuintas »

Chegou a resposta

Código: Selecionar todos

xBrow:lInFocus := .T.
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

foco no browse, dialog com button e browse

Mensagem por deividdjs »

Boa tarde Zé .. blz ??

está ocorrendo um probleminha aqui ao dar foco no browse .. veja ai se tu ja passou por isso ... ele até dá o foco no browse porem eu tenho q dar dois toque na seta pra baixo pra navegar pelo browse ... sabe o q pode ser??

Código: Selecionar todos

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

STATIC oBrw , ThisCli

PROCEDURE DB_CADCLI(oMainWnd)  // Função principal de cadastro de clientes
   
	LOCAL GETLIST := {} 
    
   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 ;
	   TITLE "Registro de Clientes" ;
		CLIPPER NOEXIT;
	   AT 0, 0 ;
	   SIZE 1200, 645 ;
	   FONT oFontDlg ;
		STYLE WS_CAPTION + DS_CENTER + WS_VISIBLE
				 
	   ThisCli := oDlgClientes

   @ 5,5 TAB oTab ITEMS {} SIZE 1188, 635 ;   
	      ON SIZE ANCHOR_TOPABS + ANCHOR_LEFTABS + ANCHOR_RIGHTABS + ANCHOR_BOTTOMABS ;
			ON GETFOCUS { || oTab: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 {|| ThisCli: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 {|| ThisCli: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 {|| ThisCli: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" 

	     @ 250,1 GET RADIOGROUP oRadiogroup1 VAR vRadiogroup1 CAPTION "Orden" OF oPanel1  SIZE 300,56;
				     
		   @ 255,14 RADIOBUTTON oRadiobutton1 CAPTION "&Nombre" OF oPanel1  SIZE 90,22;
			         ON CLICK {|| ORDSETFOCUS("CLICX_02"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() } 
			         
		   @ 255,33 RADIOBUTTON oRadiobutton2 CAPTION "Nombre &Comercial" OF oPanel1  SIZE 140,22;  
		            ON CLICK {|| ORDSETFOCUS("CLICX_06"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() }
		            
		   @ 400,33 RADIOBUTTON oRadiobutton3 CAPTION "&RUC" OF oPanel1  SIZE 90,21 ;  
		            ON CLICK {|| ORDSETFOCUS("CLICX_09"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() } 
		   
			@ 400,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,27 GET oEdit1_pesquisar VAR vEdit1_pesquisar OF oPanel1 PICTURE "@!" SIZE 371,22 MAXLENGTH 30 ;
		   VALID {|| If( hwg_GetKeyState( VK_RETURN ) < 0, ;  
		   ( oBrw:SetFocus(), .f. ), .t. ) } ;  
		   ON CHANGE {|| BuscaPorContemCliente(oEdit1_pesquisar:GetText(), oBrw), .t. }; 
		   STYLE WS_TABSTOP

  		  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 //ON ACTIVATE { || oBrw:SetFocus() }
   
   
RETURN Nil        

Código: Selecionar todos

@ 2, 85 BROWSE oBrw DATABASE OF oTab SIZE 1182, 540 STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL + WS_TABSTOP   ;
        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 UPDATE {|| oBrw:REFRESH() } 
        
oBrw:alias := 'CLI'

oBrw:bKeyDown := { |o, key| ;
   IIF(key == VK_F12, (oEdit1_pesquisar:SetFocus(), .F.), ; 
   IIF(key == VK_ESCAPE, (hwg_EndDialog(oDlgClientes:handle), .F.), ;  
   .T.))}

oBrw:oStyleHead := HStyle():New( { 0xffffff, 0xbbbbbb }, 1,, 0.4, COLOR_BLUE )	
oBrw:nColumns := LEN(aCamp)
oBrw:freeze := 2
oBrw:lDispHead := .T.
oBrw:lSep3d := .T.
oBrw:lAdjRight := .F. 
sem falar q acho meio estranho da forma q navega pelo browse .. o cursor ao ir para esquerda ele não pula coluna por coluna e quando tenho duas colunas congeladas o cursor não volta nelas .. é normal isso ?

Abraço,

Deivid
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
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

foco no browse, dialog com button e browse

Mensagem por Fernando queiroz »

deividdjs escreveu:Boa tarde Zé .. blz ??

está ocorrendo um probleminha aqui ao dar foco no browse .. veja ai se tu ja passou por isso ... ele até dá o foco no browse porem eu tenho q dar dois toque na seta pra baixo pra navegar pelo browse ... sabe o q pode ser??
Use oBrowse1:lInfocus := .T. que resolve isso, esse problema so ocorre quando se usa PAGE
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

foco no browse, dialog com button e browse

Mensagem por deividdjs »

JoséQuintas escreveu:Chegou a resposta

Código: Selecionar todos

xBrow:lInFocus := .T.
você acredita q testei isso ontem e não funcionou ..porque esse poste do Zé .... porem coloquei GETFOCUS do PAGE .. agora coloquei só no INIT do DIALOG .. fungou!!

Valeu Fernando Obrigado ..

Abs
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

foco no browse, dialog com button e browse

Mensagem por Itamar M. Lins Jr. »

Olá!
No DIALOG eu uso ... ON PAINT {|| oMeuObj := Setfocus() }
Bom que fica registrado essa também -> oBrw:lInFocus := .T.

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

foco no browse, dialog com button e browse

Mensagem por deividdjs »

Bom dia Prezados .. blz ??

fiz alguns teste e constatei q o problema de não dar sequencia nos gets com <enter> só não funciona dentro dos 'BEGIN PAGE' fora dele e incluindo o parâmetro clipper funciona perfeitamente .. alguém já passou por isso ?? se sim como solucionou ??

Abraço!
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

foco no browse, dialog com button e browse

Mensagem por Itamar M. Lins Jr. »

Olá!
Os gets dentro da TAB pulam corretamente.
VC precisa saber qual é o controle que não pula.
Me parece que COMBOBOX está pulando para o topo da TAB. Tem que isolar o problema pra ser reportado...
Meu tempo nesse momento está bem corrido. Tente fazer um problema bem pequeno que demonstre o problema.

Suadaçõ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

foco no browse, dialog com button e browse

Mensagem por deividdjs »

fiz o teste com o tutor .. e não pulas gets com enter ...

e testei os gets fora das ABAS e funciona ... é bisarro !!
Anexos
TAB TUTOR.jpg
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

foco no browse, dialog com button e browse

Mensagem por deividdjs »

já isolei tudo ... e nada de funcionar <enter>

meu codigo está assim ... o estranho foi q até no tutor nao funcionou ... será q pode ser a versão 2.23 b7 ??

Código: Selecionar todos

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

STATIC oBrw , ThisCli

PROCEDURE DB_CADCLI()  // Função principal de cadastro de clientes
   
	LOCAL GETLIST := {} 
    
   PRIVATE oDlg, oTab, oPanel1
   PRIVATE oOwnerbutton1, oRadiobutton1, oOwnerbutton2, oRadiobutton2 , oOwnerbutton3, oOwnerbutton4
   PRIVATE vEdit1_pesquisar := "", vRadiogroup1 := 1
   PRIVATE oEdit1_pesquisar, oRadiogroup1, oGroup1    
   PRIVATE oPhantom , cPHANTOM 

	// Cria o diálogo e centraliza ele na janela principal
	INIT DIALOG oDlg ;
	   TITLE "Registro de Clientes" ;
		CLIPPER NOEXIT;
	   AT 0, 0 ;
	   SIZE 1200, 645 ;
	   FONT oFontDlg ;
		STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+DS_CENTER+MB_USERICON ;//	
		ON INIT {|This| HWG_SETWINDOWTHEME( this:handle,0),oBrw:lInfocus := .T. }
				 
	   ThisCli := oDlg
		                    
      @ 5,5 TAB oTab ITEMS {} SIZE 1188, 635 ;   
	      ON SIZE ANCHOR_TOPABS + ANCHOR_LEFTABS + ANCHOR_RIGHTABS + ANCHOR_BOTTOMABS ;     
			ON GETFOCUS { || oDlg:oTab:oBrw:SetFocus()}
			
	BEGIN PAGE "Consulta" OF oTab
	 
	 
	   hwg_SetColorinFocus( .T.,, 13172680 )
		//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 {|| ThisCli: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 ;
	        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 ;
	        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(oDlg: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" 
		 
	     @ 250,1 GET RADIOGROUP oRadiogroup1 VAR vRadiogroup1 CAPTION "Orden" OF oPanel1  SIZE 300,56;
				     
		   @ 255,14 RADIOBUTTON oRadiobutton1 CAPTION "&Nombre" OF oPanel1  SIZE 90,22;
			         ON CLICK {|| ORDSETFOCUS("CLICX_02"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() } 
			         
		   @ 255,33 RADIOBUTTON oRadiobutton2 CAPTION "Nombre &Comercial" OF oPanel1  SIZE 140,22;  
		            ON CLICK {|| ORDSETFOCUS("CLICX_06"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() }
		            
		   @ 400,33 RADIOBUTTON oRadiobutton3 CAPTION "&RUC" OF oPanel1  SIZE 90,21 ;  
		            ON CLICK {|| ORDSETFOCUS("CLICX_09"),oBrw:SetFocus(),oBrw:Refresh(),oEdit1_pesquisar:SetFocus() } 
		   
			@ 400,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 [F12]" OF oPanel1 SIZE 389,55 
	  
		@ 655,27 GET oEdit1_pesquisar VAR vEdit1_pesquisar OF oPanel1 PICTURE "@!" SIZE 371,22 MAXLENGTH 30 ;
				       ON CHANGE { || BuscaPorContemCliente( oEdit1_pesquisar:GetText(), oBrw ),oBrw:lInfocus := .T.}
      @ 655,27 GET oPhantom VAR cPHANTOM SIZE 0,0

  		BrowserCliente() 
      
   END PAGE OF oTab

   BEGIN PAGE "Datos Cadastrales" OF oTab
   
       _page()
   
   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 oDlg 
   
   
RETURN Nil        

Código: Selecionar todos

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

//LOCAL oTab
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",;
         "Nombre Comercial",;
         "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 + WS_TABSTOP   ;   
        ON SIZE ANCHOR_TOPABS + ANCHOR_LEFTABS + ANCHOR_RIGHTABS + ANCHOR_BOTTOMABS ;
        ON RIGHTCLICK{|| ClickDireito(oDlg,oBrw), oDlg:oPopup:Show( oDlg ) };
	     FONT HFont():Add( 'Courier New', 0, -13, 400,,, )
        
oBrw:alias := 'CLI'

oBrw:bKeyDown := { |o, key| ;
						IIF(key == VK_F12, (oEdit1_pesquisar:SetFocus(), .F.), ; 
						IIF(key == VK_ESCAPE, (hwg_EndDialog(oDlg:handle), .F.), ;  
   				   .T.))}

oBrw:nHeadRows := 2
oBrw:oStyleHead := HStyle():New( { 0, 13400576 }, 1,, 0.4, 16759929 )	
oBrw:headColor := 16777215
oBrw:nColumns := LEN(aCamp)
oBrw:freeze := 2
oBrw:lDispHead := .T.
oBrw:lSep3d := .T.
oBrw:lAdjRight := .F.      
oBrw:bPosChanged := {||n1 := oBrw:nCurrent}


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 := { || IF( ClienteAtrasado(CLI->cc_codcli, aContas), ;  // Verifica cliente atrasado
                           { hwg_RED, ;                                 // Cor da fonte vermelha para cliente atrasado
                             IIF(MOD(oBrw:nPaintRow, 2) = 0, hwg_ALICEBLUE, hwg_WHITE), ;  // Cor de fundo zebragem
                             IIF(MOD(oBrw:nPaintRow, 2) = 0, hwg_ALICEBLUE, hwg_WHITE), ;  // Fundo zebra
                             hwg_RED }, ;                                // Texto vermelho para clientes atrasados
                           { hwg_DARKBLUE, ;                             // Texto azul escuro para clientes não atrasados
                             IIF(MOD(oBrw:nPaintRow, 2) = 0, hwg_ALICEBLUE, hwg_WHITE), ;  // Fundo zebra
                             IIF(MOD(oBrw:nPaintRow, 2) = 0, hwg_ALICEBLUE, hwg_WHITE), ;  // Fundo zebra
                             hwg_DARKBLUE } ) }                          // Cor de fundo zebra e texto azul escuro
END SEQUENCE

FOR EACH oColuna IN oBrw:aColumns
   oColuna:bColorBlock := bColorBlock
NEXT


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

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

foco no browse, dialog com button e browse

Mensagem por Itamar M. Lins Jr. »

Olá!
fiz o teste com o tutor .. e não pulas gets com enter ...
Como foi explicado em 2008 pelo Luis Basso
Tem que ser @ GET ...
EDITBOX, COMBOBOX sem a palavra GET deve ter um bug...
Vou passar para o grupo de desenvolvedores, assim que tive tempo.

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

foco no browse, dialog com button e browse

Mensagem por Itamar M. Lins Jr. »

Olá!
Foi reportado para o grupo de desenvolvedores com o exemplo.

No caso dos controles sem GET, com GET aqui no meu está ok.
GET objeto var xVariavel.
GET COMBOBOX ... aqui está ok (dentro da tab)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

foco no browse, dialog com button e browse

Mensagem por JoséQuintas »

Inicialmente respondi aqui, mas aqui é browse.
Mudei a resposta pro outro post, que tem a ver com abas e foco.

https://pctoledo.org/forum/viewto ... 57#p166357
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

foco no browse, dialog com button e browse

Mensagem por deividdjs »

Olha o B.O Itamar ...

por causa deste oPanel1q coloquei na aba ;( ... eliminei o Panel e coloquei o Get fantasta, porque sem ele tbm não funciona nem com Reza ... consegui fazer funcionar com o <enter> .. home de Deus ... quem q vai advinhar q um bendito de um panel bloqueia o funcionamento correto do sistema ... ufa!! bom agora já consigo avançar !! obrigado pela atenção ...

Abraço,

Deivid
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Responder