Iniciando com HWGUI

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

Iniciando com HWGUI

Mensagem por JoséQuintas »

Preciso de ajuda.
Vou precisar de window e vou precisar da main hwgui.

Preciso de uma main invisivel, e talvez que fique recebendo e executando codeblocks
Isso é possível?
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

Iniciando com HWGUI

Mensagem por JoséQuintas »

Talvez até vocês usem isso numa tela de login... ou nã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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Iniciando com HWGUI

Mensagem por JoséQuintas »

HSayIcon ainda não está legal, tá faltando fundo transparente.
hwgui.png
era pra ter ficado assim
icon.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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Iniciando com HWGUI

Mensagem por Itamar M. Lins Jr. »

Ola!

Código: Selecionar todos

#xcommand @ <x>,<y> BITMAP [ <oBmp> SHOW ] <bitmap> ;
            [<res: FROM RESOURCE>]     ;
            [ OF <oWnd> ]              ;
            [ ID <nId> ]               ;
            [ SIZE <width>, <height> ] ;
            [ BACKCOLOR <bcolor> ]     ;
            [ STRETCH <nStretch>]      ;
            [<lTransp: TRANSPARENT> [COLOR  <trcolor> ]] ;
            [ ON INIT <bInit> ]        ;
            [ ON SIZE <bSize> ]        ;
            [ ON CLICK <bClick> ]      ;
            [ ON DBLCLICK <bDblClick> ];
            [ TOOLTIP <ctoolt> ]       ;
Use esse pq tem transparência. (ICON/BMP) herdam hSayImage

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

Iniciando com HWGUI

Mensagem por Itamar M. Lins Jr. »

Ola!
Achei o browse com cores, o browse zebrado, e até um browse ADO com meu nome kkkkk
Já está no SVN a opção para ADO... Vc não está lendo as postagens.
Já tinha dito que na pasta samples tem exemplos.
Tem uns bugs em alguns exemplos. Mas isso quando o pessoal voltar a mexer vou avisando para eles.

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

Iniciando com HWGUI

Mensagem por JoséQuintas »

Tô chegando lá....
Ao invés de caçar manual.....
hbmk2 -doc hwindow


SYNTAX
------
INIT WINDOW <oWnd>
APPNAME <appname> TITLE <cTitle> AT <x>, <y> SIZE <nWidth>, <nHeight> ICON <ico>
SYSCOLOR <clr> COLOR <bColor> BACKGROUND BITMAP <oBmp> STYLE <nStyle> EXCLUDE <nExclude>
FONT <oFont> MENU <cMenu> MENUPOS <nPos>
ON INIT <bInit> ON SIZE <bSize> ON PAINT <bPaint> ON GETFOCUS <bGfocus>
ON LOSTFOCUS <bLfocus> ON OTHER MESSAGES <bOther> ON EXIT <bExit>
HELP <cHelp> HELPID <nHelpId>

SEEALSO
-------
hdialog
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

Iniciando com HWGUI

Mensagem por JoséQuintas »

Bom....

Quero fazer igual console.

Já tenho a tela do aplicativo inteiro, pra ser usada por herança.

Agora é a vez do browse: um browse único pro aplicativo inteiro, ou dois.

Vão ver o que um programador console consegue fazer em GUI ! kkkk
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

Iniciando com HWGUI

Mensagem por JoséQuintas »

Vai ficar quase igual em HWGUI.

Código: Selecionar todos


#include "hbclass.ch"
#include "inkey.ch"

MEMVAR m_Prog

PROCEDURE pBancoCCusto

   LOCAL oFrm := JPBACCUSTOClass():New()

   IF ! AbreArquivos( "jpempresa", "jptabel", "jpconfi" )
      RETURN
   ENDIF
   oFrm:Execute()

   RETURN

CREATE CLASS JPBACCUSTOClass INHERIT FrmCadastroClass

   VAR axKeyValue INIT { 0 }
   VAR cDataTable INIT "JPBACCUSTO"
   VAR cDataField INIT "IDBACCUSTO"
   VAR cnSQL      INIT ADOClass():New( AppConexao() )
   METHOD Especifico( lExiste )
   METHOD TelaDados( lEdit )
   METHOD GridSelection()

   ENDCLASS

METHOD GridSelection() CLASS JPBACCUSTOClass

   LOCAL oTBrowse, bCode
   LOCAL cnSQL := ADOClass():New( AppConexao() )

   WITH OBJECT cnSQL
      :cSQL := "SELECT IDBACCUSTO, CUCCUSTO, CUGRUPO FROM JPBACCUSTO ORDER BY CUCCUSTO"
      :Execute()
      oTBrowse := { ;
         { "CCUSTO", { || :String( "CUCCUSTO", 10 ) } }, ;
         { "GRUPO",  { || :String( "CUGRUPO", 10 ) } }, ;
         { "#ID",    { || Str( :Number( "IDBACCUSTO" ), 6 ) } } }
      IF "ID" $ Upper( ReadVar() )
         bCode := { || Ltrim( Str( :Number( "IDBACCUSTO" ) ) ) }
      ELSE
         bCode := { || :String( "CUCCUSTO" ) }
      ENDIF
      BrowseADO( cnSQL, oTBrowse, "CUCCUSTO,CUGRUPO", bCode )
      :CloseRecordset()
   ENDWITH

   RETURN NIL

METHOD Especifico( lExiste ) CLASS JPBACCUSTOClass

   LOCAL GetList := {}, nIdbaCCusto := 0

   IF ::cOpc != "I"
      nIdBaCCusto := ::axKeyValue[ 1 ]
      @ Row() + 1, 20 GET nIdbaCCusto PICTURE "@K 999999" VALID nIdbaCCusto > 0
      Mensagem( "Digite código para cadastro, F9 Pesquisa, ESC sai" )
      READ
      Mensagem()
      IF LastKey() == K_ESC .OR. nidbaCCusto < 0
         RETURN .F.
      ENDIF
      IF ! ::EspecificoExiste( lExiste, ADORecCount( "JPBACCUSTO", "IDBACCUSTO = " + NumberSQL( nidBaCCusto ) ) == 0 )
         RETURN .F.
      ENDIF
   ENDIF
   ::axKeyValue := { nIdBaCCusto }

   RETURN .T.

METHOD TelaDados( lEdit ) CLASS JPBACCUSTOClass

   LOCAL GetList := {}, nidbaCCusto, mcuGrupo, mcuCCusto
   LOCAL cnSQL     := ADOClass():New( AppConexao() )

   nIdBaCCusto := ::axKeyValue[ 1 ]
   WITH OBJECT cnSQL
      :cSQL := "SELECT * FROM JPBACCUSTO WHERE IDBACCUSTO = " + NumberSQL( nIdbaCCusto )
      :Execute()
      mcuGrupo  := :String( "CUGRUPO", 10 )
      mcuCCusto := :String( "CUCCUSTO", 10 )
      :CloseRecordset()
   ENDWITH

   hb_Default( @lEdit, .F. )

   DO WHILE .T.
      ::ShowTabs()
      DO CASE
      CASE ::nNumTab == 1
         @ Row() + 1, 1 SAY "#ID..............:" GET nidbaCCusto PICTURE "999999" WHEN .F.
         @ Row() + 2, 1 SAY "Centro de Custo..:" GET mcuCCusto PICTURE "@K!"
         @ Row() + 2, 1 SAY "Grupo de CCusto..:" GET mcuGrupo  PICTURE "@K!"
      ENDCASE
      //SetPaintGetList( GetList )
      IF lEdit
         Mensagem( "Digite campos, F9 Pesquisa, ESC Sai" )
         READ
         Mensagem()
      ELSE
         CLEAR GETS
         EXIT
      ENDIF
      ::nNumTab += 1
      IF LastKey() == K_ESC .OR. ::nNumTab > 1
         EXIT
      ENDIF
   ENDDO
   IF ! lEdit .OR. LastKey() == K_ESC
      RETURN NIL
   ENDIF
   WITH OBJECT cnSQL
      :QueryCreate()
      :QueryAdd( "CUCCUSTO", mcuCCusto )
      :QueryAdd( "CUGRUPO",  mcuGrupo )
      IF ::cOpc == "I"
         :QueryAdd( "CUINFINC", LogInfo() )
         nidbaCCusto := :QueryExecuteInsert( "JPBACCUSTO" )
         ::axKeyValue := { nidbaCCusto }
      ELSE
         :QueryAdd( "CUINFALT", LogInfo() )
         :QueryExecuteUpdate( "JPBACCUSTO", "IDBACCUSTO= " + NumberSQL( nidbaCCusto ) )
      ENDIF
   ENDWITH

   RETURN NIL

FUNCTION ValidBancarioCCusto( cResumo )

   LOCAL lOk := .T.

   DO CASE
   CASE cResumo == Pad( "APLIC", 10 )
   CASE cResumo == Pad( "NENHUM", 10 )
   CASE Empty( cResumo ) .AND. m_Prog != "PBANCOGRAFICOMES"
   CASE ADORecCount( "JPBACCUSTO", "CUCCUSTO= " + StringSQL( cResumo ) ) == 0
      MsgWarning( "Despesa/Receita não cadastrada!" )
      lOk := .F.
   ENDCASE

   RETURN lOk
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

Iniciando com HWGUI

Mensagem por JoséQuintas »

Programar igual GTWVG é lindo....

Pensei que ia demorar mais.
Acrescentei funcionalidade.
Mas sem fonte, o módulo usa a programação default.

Código: Selecionar todos

FUNCTION PTESHWGUI( cModule, cTitulo )

   LOCAL oFrm := UmaTelaClass():New( cTitulo, cModule, "CIAEPU+-", "d:\jpa\cordeiro\jpcidade" )
   oFrm:Execute()

   RETURN Nil
https://youtu.be/IkKPkP6SKCo
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

Iniciando com HWGUI

Mensagem por JoséQuintas »

Pra quem quiser brincar.
Fonte, ícones, manifest, EXE assinado...
Precisa chamar o EXE passando o nome de um DBF.
Ainda não sei colocar mensagem caso falte o nome do arquivo.

Como eu já disse por aqui, meus ícones são multiresolução, e o tamanho é grande, por isso o ZIP e o EXE são grandes.
Um único fonte, e o EXE ficou com quase 1MB compactado.

Acho que a parte interessante é o uso de classe, e não os recursos de hwgui, porque não tem quase nada de hwgui, só básico, só o que está no vídeo.
o fonte é "pelado", então deve usar DBFNTX. e não deve servir dbf com memo FPT ou campo lógico.
"pelado" significa que tirei do aplicativo e ficou sem a parte que configura set date, rdd, etc.

Só não esqueçam que precisa chamar passando o nome de um DBF qualquer
test.zip
(1.14 MiB) Baixado 273 vezes
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

Iniciando com HWGUI

Mensagem por JoséQuintas »

Melhorou, poluição movida pra "poluição sobre lib gráfica", no bate papo.
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
RamonXHB
Usuário Nível 3
Usuário Nível 3
Mensagens: 159
Registrado em: 03 Mar 2007 14:55

Iniciando com HWGUI

Mensagem por RamonXHB »

Vou dar uma fuçada, pra ver como é, embora eu use MiniGUI...
Ramon A. Körber Jr.
Harbour 3.2 MiniGUI Extended Edition
xDevStudio v0.70 - BCC 5.82 - Lazarus FreePascal
Firebird
AdoDB - ODBC
Windows - Linux
Linux User Number 404280
MSN - ramon15061959@hotmail.com
Skype - ramon15061959
ICQ - UIN 82580595
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

Iniciando com HWGUI

Mensagem por deividdjs »

bom dia Fernando ..

vi vc comentando ref. ao get fantasma .. ainda se aplica nesta ultima versão .. não solucionaram esse detalhe ?? estou tendo problemas com get dentro de um BEGIN PAGE.. não consigo fazer navegar e nem validar dentro do "PAGE' fora funciona perfeitamente ... vc tem alguma diga pra me dar ??

abraço

Deivid
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

Iniciando com HWGUI

Mensagem por JoséQuintas »

sobre tab e foco aqui
https://pctoledo.org/forum/viewto ... 57#p166357

Sobre o get fantasma:
Continua.
Se serve de conforto.... FIVEWIN também precisa de get fantasma.
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/
Responder