Iniciando com HWGUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

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!
OwnerButton o CAPTION é TEXT!

Código: Selecionar todos

#xcommand @ <x>,<y> OWNERBUTTON [ <oOwnBtn> ]  ;
            [ OF <oWnd> ]              ;
            [ ID <nId> ]               ;
            [ SIZE <width>, <height> ] ;
            [ BACKCOLOR <bcolor> ]     ;
            [ ON INIT <bInit> ]        ;
            [ ON SIZE <bSize> ]        ;
            [ ON PAINT <bPaint> ]      ;
            [ ON CLICK <bClick> ]      ;
            [ HSTYLES <aStyles,...> ]  ;
            [ <flat: FLAT> ]           ;
            [ <enable: DISABLED> ]     ;
            [ TEXT <cText>             ;
                 [ COLOR <color>] [ FONT <font> ] ;
                 [ COORDINATES  <xt>, <yt>, <widtht>, <heightt> ] ;
            ] ;
            [ BITMAP <bmp>  [<res: FROM RESOURCE>] [<ltr: TRANSPARENT> [COLOR  <trcolor> ]] ;
                 [ COORDINATES  <xb>, <yb>, <widthb>, <heightb> ] ;
            ] ;
            [ TOOLTIP <ctoolt> ]    ;
            [ <lCheck: CHECK> ]     ;
          => ;
    [<oOwnBtn> :=] HOWNBUTTON():New( <oWnd>,<nId>,\{<aStyles>\},<x>,<y>,<width>, ;
          <height>,<bInit>,<bSize>,<bPaint>, ;
          <bClick>,<.flat.>, ;
              <cText>,<color>,<font>,<xt>, <yt>,<widtht>,<heightt>, ;
              <bmp>,<.res.>,<xb>,<yb>,<widthb>,<heightb>,<.ltr.>,<trcolor>, <ctoolt>,!<.enable.>,<.lCheck.>,<bcolor> );
    [; hwg_SetCtrlName( <oOwnBtn>,<(oOwnBtn)> )]
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 »

Uia....
Só pra dar uma idéia.

Código: Selecionar todos

#include "hbclass.ch"
#include "hwgui.ch"

MEMVAR m_Prog

FUNCTION DoHWGui( cModule, cTitulo )

   LOCAL oFrm

   oFrm := FrmClass():New( cTitulo, cModule, "CIAEPU+-" )
   oFrm:Execute()

   RETURN NIL

FUNCTION pTeshwgui( oFrm )

   ACTIVATE DIALOG oFrm:oFrm

   RETURN Nil
O que a classe faz?
Cria a janela, e coloca os botões que foram indicados.

Código: Selecionar todos

CREATE CLASS FrmClass

   VAR oFrm
   VAR cPRGName
   VAR cOptions

   METHOD New( cTitulo, cModulo, cOptions )
   METHOD CreateButtons()
   METHOD Execute()

   ENDCLASS

METHOD New( cTitulo, cModulo, cOptions ) CLASS FrmClass

   ::cPRGName := cModulo
   ::cOptions := cOptions
   INIT DIALOG ::oFrm TITLE cTitulo AT 20, 0 SIZE 640, 480

   RETURN Self

METHOD Execute() CLASS FrmClass

   ::CreateButtons()

   DO( ::cPRGName, Self )

   RETURN NIL

METHOD CreateButtons() CLASS FrmClass

   LOCAL nRow, nCol, oFont, acOptions := {}, cCaption

   PREPARE FONT oFont NAME "Times New Roman" WIDTH 0 HEIGHT 20 WEIGHT 400

   IF "C" $ ::cOptions
      AAdd( acOptions, "Consulta" )
   ENDIF
   IF "A" $ ::cOptions
      AAdd( acOptions, "Altera" )
   ENDIF
   IF "E" $ ::cOptions
      AAdd( acOptions, "Exclui" )
   ENDIF
   IF "P" $ ::cOptions
      AAdd( acOptions, "Primeiro" )
   ENDIF
   IF "U" $ ::cOptions
      AAdd( acOptions, "Último" )
   ENDIF
   IF "+" $ ::cOptions
      AAdd( acOptions, "Seguinte" )
   ENDIF
   IF "-" $ ::cOptions
      AAdd( acOptions, "Anterior" )
   ENDIF
   nCol := 1
   nRow := 1
   FOR EACH cCaption IN acOptions
      @ nCol, nRow SHADEBUTTON SIZE 90,36 TEXT cCaption FONT oFont EFFECT SHS_METAL PALETTE PAL_METAL
      nCol += 100
      IF nCol > 540
         nCol := 1
         nRow += 40
      ENDIF
   NEXT

   RETURN Nil
O resultado?
O módulo tem o que precisa.
tela.png
Bom.....
o botão inclui executa o método inclui(), o botão altera executa o método altera(), etc.
Basta o módulo ter esses métodos, igual faço com GTWVG.

Depois... no futuro, dá pra fazer o ajuste fino, mas num primeiro momento.... parece que vai deixar a migração extremamente rápida.
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 »

Não sei se interessa pra alguém....
28/08/2020 11:15 6.487.984 jpa.exe

20/09/2020 18:55 6.681.512 jpa.exe
Como já uso ícones multiresolução, que são grandes, o EXE tá praticamente igual.
Tá com HWGUI agora.
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!
Nos botões, prefira imagens, cores. Evite usar palavras, com o tempo de uso o pessoal vai preferir desenho ou cor. Poupa tempo de ler.
Os icones(desenho/cores) são mais representativos no subconsciente.

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 »

Tem uma coisa na hwgui que deveriam ter feito faz tempo, igual na GTWVG:

Se indicar ícone que não existe, não colocar nada ou assumir um default, e não dar erro como acontece hoje.
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!
Tá começando agora, use utils\bincnt basta apontar onde estão os icones e ele vai criar um container(RC) com os ícones.
Eu já usava .RC mas vou passar a usar o binccnt.exe.

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 »

Não apareceu imagem.
hwgui.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
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 »

O mais próximo que consegui foi este, mas fica doidão.
hwgui.png

Código: Selecionar todos

      @ nCol, nRow ICON IconFromCaption( cCaption) FROM RESOURCE SIZE 55,55
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 »

No hicon tem a opção de definir tamanho.
Não resolveu ainda, não aparece.

Código: Selecionar todos

      hIcon := HIcon():AddResource( IconFromCaption( cCaption ), 55, 55 )
      @ nCol, nRow BUTTONEX cCaption ;
         SIZE 55,55 ;
         ICON hIcon ;
         TRANSPARENT
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 »

Coloquei pra redimensionar o ícone.
Alterei a variável com handle dos ícones pra classe, pra ver se o problema era a variável ser local.
Sem sucesso também.

Código: Selecionar todos

      AAdd( ::aIconList, HIcon():AddResource( IconFromCaption( cCaption ), 55, 55 ) )
      @ nCol, nRow BUTTONEX cCaption ;
         SIZE 55,55 ;
         ICON Atail( ::aIconList ) ;
         TRANSPARENT
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/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

Iniciando com HWGUI

Mensagem por MSDN »

Quintas, siga as orientações do Itamar, vc é fera em GTWVG, mas em HwGUI está começando, e quando a gente está começando tem que ser mais humilde !
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 »

MSDN escreveu:Quintas, siga as orientações do Itamar, vc é fera em GTWVG, mas em HwGUI está começando, e quando a gente está começando tem que ser mais humilde !
Apenas estou tentando mostrar um button com ícone.
O que tem de errado nisso?

Código: Selecionar todos

20/09/2020  21:10         3.181.437 ze_resource.o
20/09/2020  21:13        10.727.126 jpa.reso
Já tenho 14MB de resource.
Criar mais 14MB de resource, duplicando tudo, só pra usar o recurso novo, NÃO dá.
Não é questão de humildade, é questão de acrescentar 14MB no EXE pra isso.
hwgui.png
Apareceu alguma coisa com o nice button.
Defini ícones com tamanho 55, e button também com tamanho 55.
Mesmo assim, tá menor que button.

Pensei na ampliação do Windows 10, mas não tem nada a ver.
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/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

Iniciando com HWGUI

Mensagem por MSDN »

A questão é que usar botões em HwGUI é diferente de usar em GTWVG, só isso, basta vc esquecer como fazia antes e ver como se faz em HwGUI.
Eu uso MiniGUI, sou acostumado de um jeito, se eu for usar HwGUI vou ter que reaprender algumas coisas, faz parte !
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 »

Revi as mensagens, deixei passar o fonte do owner button.
Mesmo problema.

Código: Selecionar todos

      AAdd( ::aIconList, HIcon():AddResource( IconFromCaption( cCaption ), 55, 55 ) )
      @ nCol, nRow OWNERBUTTON SIZE 55, 55 FLAT ;
         BITMAP Atail( ::aIconList ) FROM RESOURCE TRANSPARENT ;
         TOOLTIP cCaption
owner.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
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 »

Preguiça... vai o teste assim mesmo.
Comparado com console, e com pouca informação, qualquer coisa fica legal.
hwgui.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/
Responder