Página 1 de 1

Status Bar na HWGUI

Enviado: 17 Dez 2007 10:00
por acelconsultoria
E aí, pessoal...


Bom, eu pesquisei aqui no forum e na pasta SAMPLES, e não achei nada significativo que explicasse melhor como manipular a Status Bar usando a lib HWGUI. Alguém aqui tem um exemplo pra me passar ???


Abraços !!!

Enviado: 17 Dez 2007 12:47
por sygecom
Vc pode usar a IDE(DESIGNER) para criar um .prg com STATUS BAR e ver mais ou menos como ela funciona....

Enviado: 17 Dez 2007 15:09
por acelconsultoria
É... eu também estou dando uma fuçada no designer... que é uma "mão na roda" também.

A HWGUI não é nenhum bicho de 7 cabeças, infelizmente os exemplos (SAMPLES) que vem junto com a lib não exploram todo o seu potencial. Mas tô gostando bastante !!!

Enviado: 18 Dez 2007 17:03
por Luciano Bonfim
onde fica esse designer da hwgui?

Enviado: 19 Dez 2007 11:20
por sygecom
Na sua pasta da HWGUI procure a seguinte pasta \hwgui\utils\designer

Logo em seguida execute o seguinte .BAT blddesig.bat (tem que esta com o BCC e o XHARBOUR configurados na maquina)

Esse bat vai compilar a IDE(DESIGNER) da HWGUI.

É só usar , ele salva as telas em formato .XML e .PRG

Abraços
Leonardo Machado

Enviado: 19 Dez 2007 11:29
por Luciano Bonfim
Obrigado Leonardo,

gerei o excutável aqui... vou testar agora....

ia morrer sem saber que isso existia!! rs

Enviado: 19 Dez 2007 16:10
por acelconsultoria
Bom, é o seguinte. Eu usei o designer, desenvolvi as telas, salvei em PRG... mesmo assim, não consegui entender os mistérios da Status Bar !!!

Peguei uns exemplos que vem na pasta samples, mas os exemplos apenas utilizam o objeto PANEL, e não a Status Bar !!!

Ou seja, ainda tô tentando achar !!! :(Neg

Status Bar - achei !!!

Enviado: 20 Dez 2007 09:46
por acelconsultoria
E aí, galera... dei uma "fuçada" melhor aqui e consegui desvendar os mistérios da Status Bar da HWGUI, aqui vai um pequeno exemplo:

Código: Selecionar todos

#include "windows.ch"
#include "guilib.ch"
#include "hwgui.ch"

Function Main()

PUBLIC Janela_Principal, Painel_Principal
INIT WINDOW Janela_Principal MAIN TITLE "Usando a Status Bar" ;
       ON EXIT {||EndWindow()}

   MENU OF Janela_Principal
      MENU TITLE "&Cadastro"
         MENUITEM "&Clientes"       ACTION EndWindow()
         SEPARATOR
         MENUITEM "&Sair"           ACTION {||dbCloseAll(), EndWindow()}
      ENDMENU
   ENDMENU

   ADD STATUS TO Janela_Principal PARTS 550, 200, 150 // atribui a Status Bar para a Janela_Principal, dividindo-o em 3 partes

   WriteStatus( Janela_Principal,1," MENSAGEM: Módulo Principal do Sistema" ) // atribui o valor para a primeira parte
   WriteStatus( Janela_Principal,2," USUÁRIO: Fulano" ) // atribui o valor para a segunda parte
   WriteStatus( Janela_Principal,3," DATA: " + DTOC(DATE()) ) //atribui o valor para a terceira parte
   
ACTIVATE WINDOW Janela_Principal MAXIMIZED
Return Nil

Enfim, é bem simples. O difícil mesmo foi encontrar um exemplo de como funciona.

Abraços !!!

Enviado: 28 Fev 2008 17:44
por Luciano Bonfim
usei a barra de status num DIALOG ela apareceu, mas nao consigo escrever nada nela!

alguem sabe o motivo?

Código: Selecionar todos


ADD STATUS TO TelaAcesso PARTS 300

   WriteStatus( TelaAcesso,1,"AAAAAAAAAAAFDDDDDDDDDDDDDDDD" )
//   WriteStatus( TelaAcesso,2," parte2" )
//   WriteStatus( TelaAcesso,3," parte3" )
ACTIVATE DIALOG TelaAcesso



Enviado: 28 Fev 2008 17:51
por Itamar M. Lins Jr.
Luciano Bonfim escreveu:usei a barra de status num DIALOG ela apareceu, mas nao consigo escrever nada nela!

alguem sabe o motivo?

Código: Selecionar todos


ADD STATUS TO TelaAcesso PARTS 300

   WriteStatus( TelaAcesso,1,"AAAAAAAAAAAFDDDDDDDDDDDDDDDD" )
//   WriteStatus( TelaAcesso,2," parte2" )
//   WriteStatus( TelaAcesso,3," parte3" )
ACTIVATE DIALOG TelaAcesso


Parece que só depois da ACTIVATE DIALOG voce consegue escrever na status bar.
Coloque na clausula ON INIT da DIALOG {||writestatus(...,.t.}

Saudações
Itamar M. Lins Jr.

Enviado: 28 Fev 2008 18:32
por Luciano Bonfim
Itamar,

Muito Obrigado funcionou...

aproveitando a oportunidade vc sabe como eu recupero o que está escrito na status bar?

na gtwvw eu uso a funçäo WVW_SBgetText mas em HWGUI eu nao sei

Muito Obrigado

Status Bar na HWGUI

Enviado: 23 Abr 2020 14:16
por Linguagemclipper
Estava com o mesmo problema, mas depois percebí olhando o GUILIB.CH que o Status só funciona numa WINDOW e eu estava querendo colocar num DIALOG igual ao colega aí.
Quando troquei o DIALOG pelo WINDOW o STATUS deu certo!

Status Bar na HWGUI

Enviado: 23 Abr 2020 17:47
por asimoes
Pode usar em uma INIT DIALOG

Código: Selecionar todos

   oFont    := HFont():Add( "Tahoma", 10 )
   
   nStyle   := DS_CENTER + WS_VISIBLE + WS_SYSMENU
   
   oIconDLG := HIcon():AddResource("ICON_A", 24, 24)
   
   INIT DIALOG oDlg TITLE "Teste" ;
               AT 0, 0 ;
               SIZE 1024 768 ;
               ICON oIconDLG ;
               STYLE nStyle ;
               FONT oFont ;
               CLIPPER ;
               NOEXIT ;
               COLOR 13827581
   
   ADD STATUS oStatus TO oDlg PARTS 0 STYLE BS_LEFT ON INIT {|This| Status( This ) }  

ACTIVATE DIALOG oDlg

FUNCTION Status( This )

   This:SetTextPanel( 1, "Tecle enter/esc para continuar" )

RETURN Nil

Status Bar na HWGUI

Enviado: 23 Abr 2020 21:57
por Itamar M. Lins Jr.
Ola!
Usando a versão do SVN 2.22
Primeiro vc monta, coloca os objetos na DIALOG ou na Window.

Código: Selecionar todos

INIT DIALOG oDlg CLIPPER NOEXIT TITLE cTitulo 

   Add status to oDlg parts 300,300,0

oDlg:Activate()
Assim como está ai em cima monta a barra de status vazia e dividida em 3 partes.

Código: Selecionar todos

INIT DIALOG oDlg CLIPPER NOEXIT TITLE cTitulo ;
On Init {|| hwg_WriteStatus( oDlg,2,'Reg: ' + Transform( tp50e->(lastRec()) ,"9,999,999" )), hwg_msginfo( "aqui mais coisas para fazer, depois de aberto o DIALOG") } 

   Add status to oDlg parts 300,300,0

oDlg:Activate()
Depois de montado/aberto o dialog vc pode usa "ON INIT..."
Lembrando que é um objeto e vc pode mudar, escrever o tempo todo nele...

Saudações,
Itamar M. Lins Jr.