Página 1 de 1

Hwgui 2.20 Wathsnew

Enviado: 09 Set 2016 13:07
por Itamar M. Lins Jr.

Código: Selecionar todos

                      HWGUI - Harbour Win32 GUI library
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       What's new in the last version
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[!] Important
[+] New
[-] Fixed error
[*] Changes

HWGUI 2.20 build 1 ( 09.09.2016 )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[+] HBitmap():AddStandard( cId ) method added for GTK version. Now it is possible to use
    stock icons in GTK version as predefined bitmaps in WinAPI.
[+] :nRowHeight variable added to HBrowse to set row height.
[+] :aPaintCB variable and SetPaintCB( nId, block, cId ) method added to
    HPanel to support user defined codeblocks for painting.
[+] :aPaintCB variable and SetPaintCB( nId, block, cId ) method added to
    HColumn to support user defined codeblocks for painting browse items
    ( header, lines, footers )
[*] Color in Focus handling has been changed for HEdit.
[*] Double buffering implemented for HBrowse in Windows version, logical :lBuffering
    variable ( default value is .F. ) added to HBrowse to handle buffering.
[*] HBrowse cleaned, a part of a code, related to filtering, moved to
    a new HBrwFlt class, New command added for this class: @ ... BROWSE ... FILTER.
[*] Changed a list of parameters, passed to some codeblocks for unification.
[*] ON DRAW changed to ON PAINT for OWNERBUTTON and SHADEBUTTON
[-] ON PAINT clause deleted from EDITBOX and RICHEDIT commands.
[-] hwg_ParentGetDialog() removed, hwg_getParentForm() should be used instead.
[+] :oStyleHead variable added to HBrowse and HColumn classes: It is possible
    now to have styled browse headers.
[+] :Draw( hDC, nWidth, nHeight ) method added to HStyle to draw styled control.
[+] New class added HPanelSts, inherited from HPanel to implement STATUS PANEL.
[+] Two commands added: ADD TOP PANEL, ADD STATUS PANEL.
[+] BACKCOLOR added as preferrable alternative for COLOR clause in INIT WINDOW,
    INIT DIALOG commands.
[*] Tutorial extended with new chapters and modules.
[!] Many bug fixes and improvements
Depois coloco as telas...

Saudações,
Itamar M. Lins Jr.

Hwgui 2.20 Wathsnew

Enviado: 27 Jan 2017 23:52
por Fernando queiroz
Ola Itamar

estou usando a HWGUI 2.20 com harbour 3.2 e nao estou conseguindo dar refresh no browse apos deletar um registro
ele simplesmente nao faz nada.

voce teria um exemplo :

Hwgui 2.20 Wathsnew

Enviado: 31 Jan 2017 14:25
por Itamar M. Lins Jr.
Ola!
Cadê o código ?

oBrw:refresh()
ou
oBrw:refreshline()

nRec:=Recno()
oBrw:Top()
oBrw:Bottom()
dbgoto(nRec)
oBrw:refresh()

Saudações,
Itamar M. Lins Jr.

Hwgui 2.20 Wathsnew

Enviado: 03 Fev 2017 23:51
por Fernando queiroz

Código: Selecionar todos

#include "SGC.CH"
#include "hwgui.ch"
#include "windows.ch"	
****************************************
FUNCTION TESTE2
****************************************
  Local  vPesquisa := ""
  private oDlg,  oOwnerbutton1, oOwnerbutton2, oOwnerbutton3, oGroup1, oPesquisa, oLabel1, oBrowse1
 
	IF ! ABRE_CLIENTES()
	   DBCLOSEALL()
		hb_gtSelect(pGT)
		pGTfornec:= NIL
	   RETURN NIL
	END
	SELE CLIENTES
	SET ORDER TO 2
	SET DELETED ON

  INIT DIALOG oDlg TITLE "SGC - CADASTRO DE CLIENTES"    AT 0, 0 SIZE 832,614 NOEXIT  ;
     STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER 
    Thisform := oDlg

   @ 555,576 OWNERBUTTON oOwnerbutton1  SIZE 86,28   ;
        TEXT 'Inclui'  ;
        COORDINATES 0, 0, 0, 0  ;
        BITMAP '..\icones\16x16-free-application-icons\bmp\16x16\create.bmp' ;
        COORDINATES 1, 0, 0, 0  ;
        ON CLICK {|| MANUTENCAO_CLIENTES(  ) }
   @ 647,576 OWNERBUTTON oOwnerbutton2  SIZE 86,28     ;
        TEXT 'Altera'  ;
        COORDINATES 0, 0, 0, 0  ;
        BITMAP '..\icones\16x16-free-application-icons\bmp\16x16\modify.bmp' ;
        COORDINATES 1, 0, 0, 0 
   @ 740,576 OWNERBUTTON oOwnerbutton3  SIZE 86,28     ;
        TEXT 'Exclui'  ;
        COORDINATES 0, 0, 0, 0  ;
        BITMAP '..\icones\16x16-free-application-icons\bmp\16x16\delete.bmp' ;
        COORDINATES 1, 0, 0, 0  ; 
        ON CLICK {|| ADD_EXCLUIR(oBrowse1:nCurrent) }
		
   @ 90,26 GET oPesquisa VAR vPesquisa Picture "@!" SIZE 415,24 MAXLENGTH 40 ; 
      ON CHANGE {|| PesqBrowseFilterPrd( vPesquisa, oBrowse1 ), .t. } 
	  
   @ 16,61 BROWSE oBrowse1 DATABASE SIZE 795,485 ;
        STYLE  WS_VSCROLL + WS_HSCROLL ;
        FONT HFont():Add( '',0,-16,400,,,)
		
    // CREATE oBrowse1   //  SCRIPT GENARATE BY DESIGNER
*    oBrowse1:nHeadHeight := 30
*    oBrowse1:oHeadFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:alias := 'clientes'
    oBrowse1:nColumns := 50
    SELECT (oBrowse1:alias) 
    oBrowse1:AddColumn( HColumn():New("Ucliente", FieldBlock( 'ucliente' ) ,'C',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[1]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Tipcli", FieldBlock( 'tipcli' ) ,'C',1, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[2]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Nraz_soc", FieldBlock( 'nraz_soc' ) ,'C',60, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[3]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Nraz_fant", FieldBlock( 'nraz_fant' ) ,'C',60, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[4]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Tipdoc", FieldBlock( 'tipdoc' ) ,'C',1, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[5]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Cpfcgc", FieldBlock( 'cpfcgc' ) ,'C',18, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[6]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Insest", FieldBlock( 'insest' ) ,'C',18, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[7]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Isento", FieldBlock( 'isento' ) ,'C',1, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[8]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Insmun", FieldBlock( 'insmun' ) ,'C',18, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[9]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Suframa", FieldBlock( 'suframa' ) ,'C',18, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[10]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Email", FieldBlock( 'email' ) ,'C',60, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[11]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Ender", FieldBlock( 'ender' ) ,'C',60, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[12]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Numero", FieldBlock( 'numero' ) ,'N',9, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[13]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Complem", FieldBlock( 'complem' ) ,'C',60, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[14]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Bair", FieldBlock( 'bair' ) ,'C',50, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[15]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Cep", FieldBlock( 'cep' ) ,'C',9, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[16]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Codpais", FieldBlock( 'codpais' ) ,'C',4, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[17]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Pais", FieldBlock( 'pais' ) ,'C',50, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[18]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Uf", FieldBlock( 'uf' ) ,'C',2, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[19]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Codmun", FieldBlock( 'codmun' ) ,'C',7, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[20]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Cidade", FieldBlock( 'cidade' ) ,'C',50, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[21]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Fone", FieldBlock( 'fone' ) ,'C',14, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[22]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Contato", FieldBlock( 'contato' ) ,'C',50, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[23]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Venblo", FieldBlock( 'venblo' ) ,'C',1, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[24]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Datcad", FieldBlock( 'datcad' ) ,'D',10, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[25]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Datalt", FieldBlock( 'datalt' ) ,'D',10, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[26]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Usualt", FieldBlock( 'usualt' ) ,'C',20, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[27]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Ex_clie", FieldBlock( 'ex_clie' ) ,'L',1, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[28]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Limcre", FieldBlock( 'limcre' ) ,'N',14, 2 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[29]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Totcre", FieldBlock( 'totcre' ) ,'N',14, 2 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[30]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Valor", FieldBlock( 'valor' ) ,'N',14, 2 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[31]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Ultven", FieldBlock( 'ultven' ) ,'D',10, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[32]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Ultpag", FieldBlock( 'ultpag' ) ,'D',10, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[33]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Maldir", FieldBlock( 'maldir' ) ,'L',1, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[34]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Datfec", FieldBlock( 'datfec' ) ,'N',2, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[35]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Datrec", FieldBlock( 'datrec' ) ,'N',2, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[36]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Codrot", FieldBlock( 'codrot' ) ,'N',2, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[37]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Icms", FieldBlock( 'icms' ) ,'N',2, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[38]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Taxcli", FieldBlock( 'taxcli' ) ,'N',5, 2 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[39]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Numpar", FieldBlock( 'numpar' ) ,'N',2, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[40]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Perdes", FieldBlock( 'perdes' ) ,'N',5, 2 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[41]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("Valmin", FieldBlock( 'valmin' ) ,'N',5, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[42]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("", FieldBlock( '' ) ,'U',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[43]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("", FieldBlock( '' ) ,'U',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[44]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("", FieldBlock( '' ) ,'U',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[45]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("", FieldBlock( '' ) ,'U',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[46]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("", FieldBlock( '' ) ,'U',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[47]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("", FieldBlock( '' ) ,'U',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[48]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("", FieldBlock( '' ) ,'U',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[49]:oFont := HFont():Add( '',0,-16,700,,,)
    oBrowse1:AddColumn( HColumn():New("", FieldBlock( '' ) ,'U',6, 0 ,.F.,0,,,,,,,,,,,))
    oBrowse1:aColumns[50]:oFont := HFont():Add( '',0,-16,700,,,)

    // END BROWSE SCRIPT  -  oBrowse1

   @ 18,30 SAY oLabel1 CAPTION "Pesquisa:"  SIZE 67,21  

   @ 11,6 GROUPBOX oGroup1 CAPTION "Clientes"  SIZE 812,554 ;
        STYLE BS_LEFT  

   ACTIVATE DIALOG oDlg 


dbcloseall()
RETURN oDlg:lresult

*********************************
Static Function ADD_EXCLUIR(vADD)
*********************************

   BEEP();IF PERG( "Confirma Exclusao ?" ) = "N"
       Return
   END
   IF .NOT. RLOCK()
       BEEP(); MENSAGEM( "Registro em uso por outro usuário", 3 )
       Return
   END
   DBDELETE()
   Dbunlockall()
*	oBrowse1:Top()
*	oBrowse1:Bottom()
	oBrowse1:Refresh(.T.)
*	oPesquisa:SetFocus()
*	SetFocus(oPesquisa)
	Return .t.

***************************************************
Static Function PesqBrowseFilterPrd( var, browseee)
***************************************************
Local nreg :=recno()

DBSEEK(var,.T.)

if nreg != recno()
  Browseee:Refresh(.f.)
endif

	
FUNCTION MANUTENCAO_CLIENTES(  )

LOCAL oDlg,  oLabel1, oLabel2, oLabel3, oLabel4, oLabel5, oLabel6, oLabel7 ;
        , oLabel8, oLabel9, oLabel10, oLabel11, oLabel12, oLabel13, oLabel14, oLabel15 ;
        , oLabel16, oLabel17, oEdit1, oEdit2, oGroup1, oLabel18, oLabel19, oLabel20 ;
        , oLabel21, oCombo1, oEdit3, oEdit4, oEdit5, oEdit6, oLabel22, oEdit7 ;
        , oEdit8, oEdit9, oRadiobutton1, oEdit10, oEdit11, oStatus1, oEdit12, oEdit13 ;
        , oEdit14, oEdit15, oEdit16, oEdit17, oEdit18, oEdit19, oEdit20, oEdit21 ;
        , oEdit22, oLabel23, oOwnerbutton1, oOwnerbutton2

 Local  nEdit1 := 0 , cEdit2 := "" , nCombo1 := 1 , cEdit3 := "" , nEdit4 := 0 , dEdit5 := DATE() ;
         , dEdit6 := DATE() , cEdit7 := "" , nEdit8 := 0 , nEdit9 := 0 , cEdit10 := "" , cEdit11 := "" , cEdit12 := "" ;
         , cEdit13 := "" , nEdit14 := 0 , cEdit15 := "" , cEdit16 := "" , cEdit17 := "" , cEdit18 := "" , cEdit19 := "" ;
         , cEdit20 := "" , cEdit21 := "" , nEdit22 := 0



  INIT DIALOG oDlg TITLE "SGC - CADASTRO DE CLIENTES"    AT 0, 0 SIZE 830,653 NOEXIT  ;
     STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER 
    Thisform := oDlg

   ADD STATUS oStatus1 TO oDlg 
   @ 15,44 SAY oLabel1 CAPTION "CNPJ/CPF:"  SIZE 71,18  
   @ 15,75 SAY oLabel2 CAPTION "Nome/Razao Social:"  SIZE 134,18  
   @ 15,106 SAY oLabel3 CAPTION "Nome de Fantasia:"  SIZE 124,18  
   @ 15,137 SAY oLabel4 CAPTION "Inscricao Estadual:"  SIZE 126,18  
   @ 15,168 SAY oLabel5 CAPTION "Inscricao Municipal:"  SIZE 132,18  
   @ 351,168 SAY oLabel6 CAPTION "Inscricao Suframa:"  SIZE 123,18  
   @ 15,199 SAY oLabel7 CAPTION "E-Mail:"  SIZE 47,18  
   @ 15,270 SAY oLabel8 CAPTION "CEP:"  SIZE 33,18  
   @ 15,301 SAY oLabel9 CAPTION "Logradouro:"  SIZE 80,18  
   @ 15,332 SAY oLabel10 CAPTION "Numero:"  SIZE 57,18  
   @ 15,363 SAY oLabel11 CAPTION "Complemento:"  SIZE 95,18  
   @ 15,394 SAY oLabel12 CAPTION "Bairro:"  SIZE 46,18  
   @ 15,425 SAY oLabel13 CAPTION "Pais:"  SIZE 35,18  
   @ 15,456 SAY oLabel14 CAPTION "UF:"  SIZE 24,18  
   @ 15,487 SAY oLabel15 CAPTION "Municipio:"  SIZE 69,18  
   @ 15,518 SAY oLabel16 CAPTION "Telefone:"  SIZE 62,18  
   @ 15,549 SAY oLabel17 CAPTION "Contato:"  SIZE 55,18  
   @ 156,102 GET oEdit7 VAR cEdit7 SIZE 647,24  MAXLENGTH 60  
   @ 156,133 GET oEdit8 VAR nEdit8 SIZE 166,24  MAXLENGTH 16  
   @ 156,40 GET oEdit1 VAR nEdit1 SIZE 182,24  MAXLENGTH 15  
   @ 156,164 GET oEdit9 VAR nEdit9 SIZE 166,24  MAXLENGTH 15  
   @ 156,71 GET oEdit2 VAR cEdit2 SIZE 647,24  MAXLENGTH 60  
   @ 351,133 RADIOBUTTON oRadiobutton1 CAPTION "Isento do ICMS"  SIZE 135,22  
   @ 591,363 SAY oLabel18 CAPTION "Limite Credito:"  SIZE 96,18  
   @ 624,393 SAY oLabel19 CAPTION "Utilizado:"  SIZE 64,18  
   @ 589,466 SAY oLabel20 CAPTION "Data Cadastro:"  SIZE 98,18  
   @ 568,497 SAY oLabel21 CAPTION "Data Manutencao:"  SIZE 120,18  
   @ 652,299 GET COMBOBOX oCombo1 VAR nCombo1 ;
        ITEMS {"Liberado","Bloqueado"}  ;
        SIZE 155,24  
   @ 698,356 GET oEdit3 VAR cEdit3 SIZE 107,24  MAXLENGTH 14  
   @ 698,387 GET oEdit4 VAR nEdit4 SIZE 107,24  MAXLENGTH 14  
   @ 698,462 GET oEdit5 VAR dEdit5 SIZE 107,24  PICTURE '@D'  
   @ 698,493 GET oEdit6 VAR dEdit6 SIZE 107,24  PICTURE '@D'  
   @ 561,303 SAY oLabel22 CAPTION "Faturamento:"  SIZE 87,21  

   @ 549,264 GROUPBOX oGroup1 CAPTION "Situacao:"  SIZE 268,310 ;
        STYLE BS_LEFT  
   @ 485,164 GET oEdit10 VAR cEdit10 SIZE 166,24  MAXLENGTH 15  
   @ 156,195 GET oEdit11 VAR cEdit11 SIZE 647,24  MAXLENGTH 60  
   @ 122,266 GET oEdit12 VAR cEdit12 SIZE 92,24  MAXLENGTH 60  
   @ 122,297 GET oEdit13 VAR cEdit13 SIZE 410,24  MAXLENGTH 60  
   @ 122,328 GET oEdit14 VAR nEdit14 SIZE 92,24  MAXLENGTH 10  
   @ 122,359 GET oEdit15 VAR cEdit15 SIZE 410,24  MAXLENGTH 60  
   @ 122,390 GET oEdit16 VAR cEdit16 SIZE 410,24  MAXLENGTH 60  
   @ 122,421 GET oEdit17 VAR cEdit17 SIZE 410,24  MAXLENGTH 30  
   @ 122,452 GET oEdit18 VAR cEdit18 SIZE 66,24  MAXLENGTH 2  
   @ 122,483 GET oEdit19 VAR cEdit19 SIZE 410,24  MAXLENGTH 50  
   @ 122,514 GET oEdit20 VAR cEdit20 SIZE 149,24  MAXLENGTH 10  
   @ 122,545 GET oEdit21 VAR cEdit21 SIZE 410,24  MAXLENGTH 60  
   @ 156,9 GET oEdit22 VAR nEdit22 SIZE 80,24  MAXLENGTH 6  
   @ 15,13 SAY oLabel23 CAPTION "Codigo:"  SIZE 51,21  
   @ 611,588 OWNERBUTTON oOwnerbutton1  SIZE 99,28   ;
        TEXT 'Cancela'  ;
        COORDINATES 0, 0, 0, 0  ;
        BITMAP '..\icones\16x16-free-application-icons\bmp\16x16\abort.bmp' ;
        COORDINATES 1, 0, 0, 0 
   @ 718,588 OWNERBUTTON oOwnerbutton2  SIZE 99,28   ;
        TEXT 'Confirma'  ;
        COORDINATES 0, 0, 0, 0  ;
        BITMAP '..\icones\16x16-free-application-icons\bmp\16x16\apply.bmp' ;
        COORDINATES 1, 0, 0, 0 

   ACTIVATE DIALOG oDlg 



RETURN oDlg:lresult

Hwgui 2.20 Wathsnew

Enviado: 03 Fev 2017 23:55
por Fernando queiroz
A ideia é montar uma tela de Browse para fazer a pesquisa, inclusão , alteração e exclusão via botoes
mas todos os posts que vi no fórum não ajudaram muito as que pareciam mais com o que tenho em harbour davam erros

segue o que tenho em harbour funcionando perfeito

Código: Selecionar todos

FUNCTION SGC1100_PESQ80
**************************************
TELA_CAD := SAVESCREEN( LIN_MENU + 1, 00, 23, 79 )
SET ORDER TO 2
DBGOTOP()
COR( "MENU" )

JANELA( 00, 00, 23, 99, "Consulta Produtos" )

L_CON := L_SOM; C_CON := C_SOM
COR( "MENU" )
@ 02, 03 CLEAR TO 20, 96
@ 02, 03 SAY SUBS( TB_JANELA, 1, 1 ) +;
             REPL( SUBS( TB_JANELA, 2, 1 ), 92 ) + SUBS( TB_JANELA, 3, 1 )
@ 03, 03 SAY SUBS( TB_JANELA, 12, 1 )
@ 03, 96 SAY SUBS( TB_JANELA, 4, 1 )
@ 04, 03 SAY SUBS( TB_JANELA, 11, 1 )
@ 04, 96 SAY SUBS( TB_JANELA, 5, 1 )
FOR CONTAR = 5 TO 20
   @ CONTAR, 03 SAY SUBS( TB_JANELA, 10, 1 )
   @ CONTAR, 96 SAY SUBS( TB_JANELA, 6, 1 )
NEXT
@ 21, 03 SAY SUBS( TB_JANELA, 9, 1 ) +;
             REPL( SUBS( TB_JANELA, 8, 1 ), 92 ) + SUBS( TB_JANELA, 7, 1 )

OBJETO := TBROWSEDB( 03, 04, 19, 95 )
OBJETO:HEADSEP := TB_SEP_CAB
OBJETO:COLSEP := TB_SEP_LIN
OBJETO:FOOTSEP := TB_RODAPE
OBJETO:COLORSPEC := CONTECOR[ 2 ] + "," + CONTECOR[ 3 ] + "," + TB_COR_DEL



OB_COLUN := TBCOLUMNNEW( "Codigo", { || PRODUTOS->CODPRO } )
OB_COLUN:PICTURE := "@R 999999-9"
OBJETO:ADDCOLUMN(OB_COLUN)

OB_COLUN := TBCOLUMNNEW( "Nome Produto", { || PRODUTOS->DESPRO } )
OB_COLUN:PICTURE := "@S38"
OBJETO:ADDCOLUMN(OB_COLUN)

OB_COLUN := TBCOLUMNNEW( "Preco Venda", { || PRODUTOS->PREVEN } )
OB_COLUN:PICTURE := "@E 999,999.99"
OBJETO:ADDCOLUMN(OB_COLUN)

IF strzero(M->NIV_ACESSO,1,0)$"3"
   OB_COLUN := TBCOLUMNNEW( "Est.Deposito", { || PRODUTOS->ESTL02 } )
   OB_COLUN:PICTURE := "9999999.99"
   OBJETO:ADDCOLUMN(OB_COLUN)
ELSEIF strzero(M->NIV_ACESSO,1,0)$"589"
	OB_COLUN := TBCOLUMNNEW( "Obs::", { || PRODUTOS->CODREF } )
	OB_COLUN:PICTURE := "@S22"
	OBJETO:ADDCOLUMN(OB_COLUN)
   OB_COLUN := TBCOLUMNNEW( "Estoque", { || IF(PRODUTOS->PROSER = "1",PRODUTOS->ESTATU,PRODUTOS->ESTATU*(-1)) } )
   OB_COLUN:PICTURE := "9999999.99"
   OBJETO:ADDCOLUMN(OB_COLUN)
   OB_COLUN := TBCOLUMNNEW( "Est.Dep.", { || PRODUTOS->ESTL02 } )
   OB_COLUN:PICTURE := "9999999.99"
   OBJETO:ADDCOLUMN(OB_COLUN)   
   OB_COLUN := TBCOLUMNNEW( "Vendas Mes", { || PRODUTOS->SMES01 } )
   OB_COLUN:PICTURE := "9999999.99"
   OBJETO:ADDCOLUMN(OB_COLUN)
	OB_COLUN := TBCOLUMNNEW( "Preco Custo", { || PRODUTOS->PRECUS } )
	OB_COLUN:PICTURE := "@E 999,999.99"
	OBJETO:ADDCOLUMN(OB_COLUN)
ELSE
   OB_COLUN := TBCOLUMNNEW( "Estoque", { || IF(PRODUTOS->PROSER = "1",PRODUTOS->ESTATU,PRODUTOS->ESTATU*(-1)) } )
   OB_COLUN:PICTURE := "9999999.99"
   OBJETO:ADDCOLUMN(OB_COLUN)
   OB_COLUN := TBCOLUMNNEW( "Obs::", { || PRODUTOS->CODREF } )
   OB_COLUN:PICTURE := "@S22"
   OBJETO:ADDCOLUMN(OB_COLUN)
ENDIF
OB_COLUN := TBCOLUMNNEW( "Unidade", { || PRODUTOS->TIPUNI } )
OBJETO:ADDCOLUMN(OB_COLUN)

OB_COLUN := TBCOLUMNNEW( "COD.BARRAS", { || PRODUTOS->EAN13 } )
OBJETO:ADDCOLUMN(OB_COLUN)

OB_COLUN := TBCOLUMNNEW( "NCM", { || PRODUTOS->NCM } )
OBJETO:ADDCOLUMN(OB_COLUN)

OB_COLUN := TBCOLUMNNEW( "Tipo", { || IF(PRODUTOS->PROSER = "1","PRODUTO","SERVICO") } )
OBJETO:ADDCOLUMN(OB_COLUN)

OB_COLUN := TBCOLUMNNEW( "CFOP/REG/ST/ORIG/PIS/COFINS", { || PRODUTOS->ICMS_CFOP+"/"+PRODUTOS->icms_regim+"/"+PRODUTOS->ICMS_ST+"/"+PRODUTOS->ICMS_ORIGE+"/"+PRODUTOS->q_PISst+"/"+PRODUTOS->s_COFst } )
OBJETO:ADDCOLUMN(OB_COLUN)

IF strzero(M->NIV_ACESSO,1,0)$"89"
   OB_COLUN := TBCOLUMNNEW( "Data Inc/Alt", { || PRODUTOS->DATALT } ) 
   OB_COLUN:PICTURE := "99-99-9999"
   OBJETO:ADDCOLUMN(OB_COLUN)
   OB_COLUN := TBCOLUMNNEW( "Operador", { || PRODUTOS->USUALT } ) 
   OB_COLUN:PICTURE := "@S20"
   OBJETO:ADDCOLUMN(OB_COLUN)
END

COR( "MENU" )

OBJETO:freeze := 2
OBJETO:RIGHT()
pestecla:=""
@ 20,07 SAY "Pesquisa:"
SETCOLOR( CONTECOR[ 3 ] )
@  20, 16 SAY SPACE(40)
WHILE .T.
****OBJETO:colorrect({OBJETO:rowpos,1,OBJETO:rowpos,OBJETO:colCount},{Iif(OrdKeyNo()%2==0,1,3), 1})
   WHILE ( !OBJETO:STABILIZE() )
      IF ( TECLA := INKEY() ) != 0
         EXIT
      ENDIF
   ENDDO
****OBJETO:colorrect({OBJETO:rowpos,1,OBJETO:rowpos,OBJETO:colCount},{2,2})
   IF OBJETO:STABLE
      SETCOLOR( CONTECOR[ 5 ] )
      @ 23, 04 SAY STRZERO( RECN(), 7 ) + "   " + IIF( DELETED(), "Del", "   " )
      CURSOR( LIGA )
      SETCOLOR( CONTECOR[ 3 ] )
      @  20,16+LEN(PESTECLA) SAY ""
      TECLA := INKEY( 0 )
      CURSOR( DESLIGA )     
      if tecla>=32 .and. tecla<=165
         PESTECLA+=UPPER(chr(TECLA))
         @  20, 16 SAY PESTECLA
      end

      SETCOLOR( CONTECOR[ 5 ] )
   ENDIF
   IF TECLA == T_CIMA
      OBJETO:UP()
   ELSEIF TECLA == T_BAIXO
      OBJETO:DOWN()
   ELSEIF TECLA == T_ESQUERDA
       OBJETO:LEFT()
       IF OBJETO:colPos = 1
          SET ORDER TO 1
          OB_COLUN := OBJETO:getColumn( OBJETO:colPos )
          OBJETO:configure()
          OBJETO:refreshAll()
       ELSEIF OBJETO:colPos = 2
          SET ORDER TO 2
          OB_COLUN := OBJETO:getColumn( OBJETO:colPos )
          OBJETO:configure()
          OBJETO:refreshAll()
       ELSEIF OBJETO:colPos = 4
          SET ORDER TO 9
          OB_COLUN := OBJETO:getColumn( OBJETO:colPos )
          OBJETO:configure()
          OBJETO:refreshAll()
       END
   ELSEIF TECLA == T_DIREITA
      OBJETO:RIGHT()
       IF OBJETO:colPos = 1
          SET ORDER TO 1
          OB_COLUN := OBJETO:getColumn( OBJETO:colPos )
          OBJETO:configure()
          OBJETO:refreshAll()
       ELSEIF OBJETO:colPos = 2
          SET ORDER TO 2
          OB_COLUN := OBJETO:getColumn( OBJETO:colPos )
          OBJETO:configure()
          OBJETO:refreshAll()
       ELSEIF OBJETO:colPos = 4
          SET ORDER TO 9
          OB_COLUN := OBJETO:getColumn( OBJETO:colPos )
          OBJETO:configure()
          OBJETO:refreshAll()
       END
   ELSEIF TECLA == T_DEL
      IF M->NIV_ACESSO = 9

*         IF PERG( "Apaga o Produto do Cadastro?", "N" ) = "S"
            DO WHILE ! RLOCK()
               INKEY(.1)
            ENDD
            DBDELETE()
			OBJETO:PAGEDOWN()
			OBJETO:REFRESHALL()
			OBJETO:PAGEUP()
			OBJETO:REFRESHALL()
*         ENDIF
         MENSAGEM( "                            " )
      ENDIF

   ELSEIF TECLA == T_F9
      OBJETO:REFRESHALL()
   ELSEIF TECLA == T_HOME
      OBJETO:GOTOP()
      OBJETO:REFRESHALL()
   ELSEIF TECLA == T_END
      OBJETO:GOBOTTOM()
      OBJETO:REFRESHALL()
   ELSEIF TECLA == T_PGUP
      OBJETO:PAGEUP()
   ELSEIF TECLA == T_PGDN
      OBJETO:PAGEDOWN()
   ELSEIF TECLA == T_CTRL_PGUP
      OBJETO:GOTOP()
   ELSEIF TECLA == T_CTRL_PGDN
      OBJETO:GOBOTTOM()
   ELSEIF TECLA == T_CTRL_HOME
      OBJETO:PANHOME()
   ELSEIF TECLA == T_CTRL_END
      OBJETO:PANEND()
   ELSEIF TECLA == T_CTRL_ESQUERDA
      OBJETO:PANLEFT()
   ELSEIF TECLA == T_CTRL_DIREITA
      OBJETO:PANRIGHT()
   ELSEIF TECLA == T_ESC
		RESTSCREEN( LIN_MENU + 1, 00, 23, 79, TELA_CAD )
		RETURN NIL
   ELSEIF TECLA = T_ENTER
      RESTSCREEN( LIN_MENU + 1, 00, 23, 79, TELA_CAD )
      SET KEY -8 TO 
      SET ORDER TO 1
      M->CODPRO:=VAL(SUBSTR(CODPRO,1,6))
      COR( "GETS" )
      RETURN NIL
   ELSEIF TECLA = T_BACKSPACE
         SETCOLOR( CONTECOR[ 3 ] )
         @  20, 16 SAY SPACE(40)
         PESTECLA:=SUBSTR(PESTECLA,1,LEN(PESTECLA)-1)
         DBSEEK(PESTECLA,.T.)
         OBJETO:REFRESHALL()
         @  20, 16 SAY PESTECLA
         SETCOLOR( CONTECOR[ 5 ] )
   ELSE
      OBJETO:GOTOP()
      DBSEEK(PESTECLA,.T.)
      OBJETO:REFRESHALL()
   ENDIF
ENDDO

Hwgui 2.20 Wathsnew

Enviado: 09 Fev 2017 10:40
por Itamar M. Lins Jr.
Ola!
Faça exemplos pequenos que demonstre o problema, sem imagens, só o que interessa.
Assim fica difícil ajudar.
Um exemplo:

Código: Selecionar todos

#include "hwgui.ch"
#include "rddleto.ch"
REQUEST LETO

Procedure main
LOCAL aDbS:={}, oDlg, oBrw

AADD(aDbS, {"a","c",4,0}) 

leto_Connect( '//localhost:2812/' )

DBCREATE("_test.dbf",aDbS)
DbUseArea(.T.,"LETO",'//localhost:2812/_test',,.T.,.F.,'PTISO')
/* leto_SetSkipBuffer(1)  */ 


INIT DIALOG oDlg CLIPPER NOEXIT AT 100,100 SIZE 300,200 

   @ 10,10 Browse oBrw DATABASE of oDlg SIZE 200,150 APPEND

  
   Add column FieldBlock("a") to oBrw EDITABLE Header 'A' length 4
   
oDlg:Activate()

close all
Veja que não precisa de nada para testar esse código ai em cima, somente das ferramentas em questão.

Saudações,
Itamar M. Lins Jr.