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 »

Código: Selecionar todos

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.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!
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.
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 »

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

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

Código: Selecionar todos

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

Alterando pra dialog ok.
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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Iniciando com HWGUI

Mensagem por asimoes »

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 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!
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.
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 »

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

Código: Selecionar todos

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

Código: Selecionar todos


#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.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/
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Iniciando com HWGUI

Mensagem por Claudio Soto »

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
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 »

Dá pra fazer igual em HWGUI?
Yes
é sério que vc se espantou com isso ?
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 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.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!
Eu mesmo não uso toolbutton
Tem um exemplo no TUTOR que é o que uso. TOP PANEL com OnwnerButtons.

Código: Selecionar todos

   ADD TOP PANEL oPanelMain TO oFormMain HEIGHT 70
Vai criar uma faixa no top da window MAIN.

Código: Selecionar todos

   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

Código: Selecionar todos

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

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

Código: Selecionar todos

#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

Código: Selecionar todos

#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.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!
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.
Saudações,
Itamar M. Lins Jr.
Responder