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 JoséQuintas » 20 Set 2020 15:57

METHOD Activate( lNoModal, lMaximized, lMinimized, lCentered, bActivate ) CLASS HDialog

   LOCAL oWnd, hParent
   //LOCAL aCoors, aRect

   IF bActivate != Nil
      ::bActivate := bActivate
   ENDIF

   hwg_CreateGetList( Self )
   hParent := Iif( ::oParent != Nil .AND. ;
      __ObjHasMsg( ::oParent, "HANDLE" ) .AND. !Empty( ::oParent:handle ), ;
      ::oParent:handle, Iif( ( oWnd := HWindow():GetMain() ) != Nil,  ;
      oWnd:handle, hwg_Getactivewindow() ) )


A Dialog fica presa a uma janela ativa.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14922
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 883 vezes

Iniciando com HWGUI

Mensagempor Itamar M. Lins Jr. » 20 Set 2020 16:02

Ola!
Precisa do objeto pai. No caso uma window/dialog. Deve está como WVG... O objeto principal(GTWVG), por isso não aparece nada.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4689
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 165 vezes
Mens.Curtidas: 264 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 16:20

hwgui.png


Aqui ok, cada janela uma thread.
Tudo normal, só a sequência pra fechar que fica chato.

É começar assim mesmo.

Só mais um último teste, que lembrei de uma coisa...
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14922
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 883 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 16:36

Testei com outras GTs: GTWGU e GTGUI.

Bom, sem problemas, o usuário vai poder abrir várias janelas.
Se abrir muitas vai se perder, mas por enquanto não tem nenhuma kkkkk

Até lá, talvez tenha outra Main()
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14922
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 883 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 17:25

#include "hwgui.ch"

STATIC nWindow := 0

FUNCTION pTeshwgui

   LOCAL oTela, oFont, nRow, nCol

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

   nWindow += 1
   INIT WINDOW oTela TITLE "Shade Buttons " + Str( nWindow, 3 ) ;
      AT 20,0 SIZE 640,480 SYSCOLOR COLOR_3DLIGHT+1

   FOR nCol= 100 TO 400 STEP 100
      FOR nRow = 40 TO 400 STEP 40
         @ nRow, nCol SHADEBUTTON SIZE 100,36 TEXT Str( nRow, 3 ) + Str( nCol, 3 ) FONT oFont EFFECT SHS_METAL PALETTE PAL_METAL
      NEXT
   NEXT

   ACTIVATE WINDOW oTela

   RETURN Nil


Não tem jeito, só o desenvolvedor mesmo.
Agora com Window.
Ok, a primeira vez abre normalmente, depois nunca mais.
Acho que ninguém nunca usou hwgui sem existir uma janela Main().

Pergunta:

Qual a diferença entre Dialog e Window? precisa das duas?
A Dialog não faz tudo que a Window faz?
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14922
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 883 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 17:29

Alterando pra dialog ok.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14922
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 883 vezes

Iniciando com HWGUI

Mensagempor asimoes » 20 Set 2020 17:44

JoséQuintas escreveu:Alterando pra dialog ok.


Isso eu tentei, inclusive tem um post meu questionando isso, o problema é o tipo da janela que que é MAIN, com CHILD ou DIALOG pode abrir quantas vezes quiser a mesma janela na thread.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4801
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 326 vezes
Mens.Curtidas: 229 vezes

Iniciando com HWGUI

Mensagempor Itamar M. Lins Jr. » 20 Set 2020 17:44

Ola!
Com Window o povo usa/usava as "WINDOWS CHILD" que ficava dentro da outra(abaixo);
Eu prefiro as DIALOGS.

Acho que ninguém nunca usou hwgui sem existir uma janela Main().


Tenho vários exemplos com dialogs puros.
A MAIN sempre irá existir dentro do projeto, com MENUS, Background...
Por isso eu vejo como melhor opção a MAIN ser com a Hwgui e as outras sendo WVG/WVW...

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4689
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 165 vezes
Mens.Curtidas: 264 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 17:52

Amiguinhos do céu, nem te conto.....
Tudo bem que em GUI isso normalmente não se faz, deixar todas as janelas com o mesmo tamanho....

FUNCTION DoPrg( cModule, cTitulo, p1, p2, p3 )

   LOCAL mHrInic //, oStatusbar
   PRIVATE m_Prog

   m_Prog := cModule
   hb_gtReload( "WVG" )
   IF "HWGUI" $ cModule
      AppInitSets( .F. )
      DoHWGui( cModule, cTitulo, p1, p2, p3 )
   ELSE
      HB_GtInfo( HB_GTI_WINTITLE, cTitulo )
      AppInitSets()
   // oStatusbar := wvgStatusBar():New( wvgSetAppWindow(), , , { -2, -2 } , , .T. ):Create()
      SetColor( SetColorNormal() )
      CLS
      SayTitulo( cTitulo )
      @ MaxRow() - 2, 0 TO MaxRow() - 2, MaxCol() COLOR SetColorTraco()
      mHrInic := Time()
      Do( cModule, p1, p2, p3 )
      LogDeUso( mHrInic, cModule )
   //  HB_SYMBOL_UNUSED( oStatusbar )
   ENDIF

   RETURN NIL


Como dá pra perceber acima, em GTWVG eu crio a janela e já coloco o título.
O próprio menu já faz tudo.

Dá pra fazer igual em HWGUI?
Yes


#include "hwgui.ch"

MEMVAR m_Prog

FUNCTION DoHWGui( cModule, cTitulo )

   LOCAL oTela

   m_Prog := cModule
   INIT DIALOG oTela TITLE cTitulo AT 20, 0 SIZE 640, 480
   Do( cModule, oTela )

   RETURN NIL

FUNCTION pTeshwgui( oTela )

   PutButtons()

   ACTIVATE DIALOG oTela

   RETURN Nil

STATIC FUNCTION PutButtons()

   LOCAL nRow, nCol, oFont

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

   FOR nCol= 100 TO 400 STEP 100
      FOR nRow = 40 TO 400 STEP 40
         @ nCol, nRow SHADEBUTTON SIZE 90,36 TEXT Str( nRow, 3 ) + Str( nCol, 3 ) FONT oFont EFFECT SHS_METAL PALETTE PAL_METAL
      NEXT
   NEXT

   RETURN Nil


Em GTWVG também tenho uma classe que monta as telas de cadastro, os botões, etc.
O fonte acima mostra que isso é possível.

Então.... teoricamente.... tá quase tudo pronto, falta só SAY e GET (e browse)
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14922
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 883 vezes

Iniciando com HWGUI

Mensagempor Claudio Soto » 20 Set 2020 17:59

En Windows un dialogo es una ventana temporaria que se utiliza para recibir la entrada de datos por parte del usuario, es una ventana que normalmente no tiene un boton para minimizar ni maximizar, y puede o no ser modal. En cambio un window es algo mas amplio con mas opciones, son las ventanas de la mayoria de las aplicaciones y son simpre no modal.
Son ej de dialogos, las cajas con mensaje ok,cancel,etc. Las cajas para abrir y gravar archivos, para seleccionar un color o una fuente de letra, etc.
Pero en la practica a veces si cumple con lo que el usuario necesita se usan en forma indistinta un dialog o un windows.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 34 vezes
Mens.Curtidas: 157 vezes

Iniciando com HWGUI

Mensagempor MSDN » 20 Set 2020 18:14

Dá pra fazer igual em HWGUI?
Yes

é sério que vc se espantou com isso ?
MSDN
Usuário Nível 4

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

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 18:14

Não encontrei exemplo pra button.
Queria fazer do jeito que a GTWVG não deixa, já comentei por aqui.

icone.png


Prefiro button ao invés de toolbar.
Acaba ficando mais flexível até pra redimensionar.
Agora com a imagem certa.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14922
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 883 vezes

Iniciando com HWGUI

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

Ola!
Eu mesmo não uso toolbutton
Tem um exemplo no TUTOR que é o que uso. TOP PANEL com OnwnerButtons.
   ADD TOP PANEL oPanelMain TO oFormMain HEIGHT 70

Vai criar uma faixa no top da window MAIN.
   INIT WINDOW oFormMain MAIN APPNAME "XYZ" FONT oFontMain ;
   TITLE "SISTEMA XYZ S/A "  ;
   AT 0,0 SIZE PosX,PosY-30 ICON oIconEXE STYLE WS_POPUP +  WS_CAPTION + WS_SYSMENU ;
   MENUPOS 3 ; //Vai abrir na posição 3
   BACKGROUND BITMAP oBmp
   ADD TOP PANEL oPanelMain TO oFormMain HEIGHT 70
   MENU OF oFormMain

      MENU TITLE "&Arquivos"
         MENUITEM "&Fornecedores"       ID 110  ACTION {||Fornecedores()}
...


Aqui os botões da BARRA
Function EscolhePerfil(cPerfil,oPanel,oTempoAviso)
...
   oImgEstoque      := hbitmap():AddResource( 'IMG_ESTOQUE' )

      @ 000,1 OWNERBUTTON OF oPanel ON CLICK {||Estoque()} ;
          SIZE 58,68 FLAT TEXT "Estoque" COORDINATES 0,53,50,50 FONT oFontBarra ;
          BITMAP oImgEstoque FROM RESOURCE TRANSPARENT COORDINATES 0,0,58,58 TOOLTIP "Arquivo do Estoque"


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4689
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 165 vezes
Mens.Curtidas: 264 vezes

Iniciando com HWGUI

Mensagempor JoséQuintas » 20 Set 2020 18:28

Aqui no button não vejo opção de ícone

#xcommand @ <x>,<y> BUTTON [ <oBut> CAPTION ] <caption> ;
            [ OF <oWnd> ]              ;
            [ ID <nId> ]               ;
            [ SIZE <width>, <height> ] ;
            [ COLOR <color> ]          ;
            [ BACKCOLOR <bcolor> ]     ;
            [ ON INIT <bInit> ]        ;
            [ ON SIZE <bSize> ]        ;
            [ ON PAINT <bDraw> ]       ;
            [ ON CLICK <bClick> ]      ;
            [ STYLE <nStyle> ]         ;
            [ FONT <oFont> ]           ;
            [ TOOLTIP <ctoolt> ]


o ícone é uma opção, mas não tem caption

#xcommand @ <x>,<y> ICON [ <oIco> SHOW ] <icon> ;
            [<res: FROM RESOURCE>]     ;
            [ OF <oWnd> ]              ;
            [ ID <nId> ]               ;
            [ SIZE <width>, <height> ] ;
            [ ON INIT <bInit> ]        ;
            [ ON SIZE <bSize> ]        ;
            [ ON CLICK <bClick> ]      ;
            [ ON DBLCLICK <bDblClick> ];
            [ TOOLTIP <ctoolt> ]   
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 14922
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 883 vezes

Iniciando com HWGUI

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

Ola!
A Hwgui tem BUTTON, BUTTONEX e OwnerButton. ButtonEX tem imagem, BUTTON não. OwnerButton tem imagem mas não recebe FOCO.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 4689
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 165 vezes
Mens.Curtidas: 264 vezes

Anterior Próximo



Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 3 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