Clipper On Line • Ver Tópico - Iniciando com HWGUI

Iniciando com HWGUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Iniciando com HWGUI

Mensagempor Itamar M. Lins Jr. » 20 Set 2020 18:39

Ola!
OwnerButton o CAPTION é TEXT!
#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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 18:59

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

#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.

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 19:15

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor Itamar M. Lins Jr. » 20 Set 2020 19:22

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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 19:29

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor Itamar M. Lins Jr. » 20 Set 2020 19:46

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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 20:00

Não apareceu imagem.

hwgui.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 20:18

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

hwgui.png


      @ nCol, nRow ICON IconFromCaption( cCaption) FROM RESOURCE SIZE 55,55
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 20:30

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

      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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 20:42

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.

      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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor MSDN » 20 Set 2020 21:14

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 !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 21:23

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?

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor MSDN » 20 Set 2020 21:24

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 !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 21:42

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

      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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 21 Set 2020 04:02

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Anterior Próximo



Retornar para HwGui

Quem está online

Usuários vendo este fórum: Fernando queiroz e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro