Status Bar com gtwvw

Outras bibliotecas visuais e IDEs para Harbour/xHarbour (xHGTK/HbWxW/GtWvT/GtWvW/WvWtools.etc)

Moderador: Moderadores

SandroBelarmino
Usuário Nível 3
Usuário Nível 3
Mensagens: 464
Registrado em: 04 Set 2007 16:11
Localização: Pedreira-SP

Status Bar com gtwvw

Mensagem por SandroBelarmino »

Olá pessoal,

Peguei um exemplo para compilar meu programa com gtwvw e nesse exemplo tem uma status bar na janela principal que mostra a hora no canto direito, estou tentando incluir um texto na primeira parte da status bar (lado esquerdo) porém nao estou conseguindo.
Alguém sabe me dizer o que tenho que fazer?
Abaixo segue o código que gera a status bar.

Código: Selecionar todos

if wvw_SBcreate() > 0 .and.;
   wvw_SBaddPart(, "99:99:99") > 0
   wvw_SetTimer(, 1000)
endif
Valeu galera !!
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
SandroBelarmino
Usuário Nível 3
Usuário Nível 3
Mensagens: 464
Registrado em: 04 Set 2007 16:11
Localização: Pedreira-SP

Re: Status Bar com gtwvw

Mensagem por SandroBelarmino »

Fiz a seguinte alteração no código e deu certo.

Código: Selecionar todos

if wvw_SBcreate() > 0 .and.;
   wvw_SBaddPart(, "99:99:99") > 0
   wvw_SetTimer(, 1000)
   wvw_SBSetText(,0,'MINHA MENSAGEM AQUI')
endif
Se mais alguém tiver a mesma dúvida espero ter ajudado !!! :)) :))
Forte abraço a todos.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Re: Status Bar com gtwvw

Mensagem por TerraSoftware »

Caro colega sandro, compilei seu exemplo, mas o relogio nao aparece, a funcao wvw_SetTimer(, 1000) retorno .f., o resto deu certo.

O que estou fazendo errado? pode me ajudar?
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
SandroBelarmino
Usuário Nível 3
Usuário Nível 3
Mensagens: 464
Registrado em: 04 Set 2007 16:11
Localização: Pedreira-SP

Re: Status Bar com gtwvw

Mensagem por SandroBelarmino »

Voce precisa incluir a seguinte funcao no seu aplicativo:

Código: Selecionar todos

function WVW_TIMER(nWinNum, hWnd, message, wParam, lParam)
* this function is called every certain interval, by GTWVW gtwndproc
   WVW_SBsetText(0, 1, time())
return NIL
Ela pode ser incluida no prog. principal mesmo.
Abraço.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Re: Status Bar com gtwvw

Mensagem por TerraSoftware »

Sandro, deu certinho, relogio funcionando. Gostei muito dessa possibilidade de usar o timer().

Agora me diga uma coisa, por favor, como faço para criar novos eventos e chama-los em lugares diferentes?

Por exemplo: as funcoes que vc me passou vai mostrar time() a cada 1000 milessegundos na barra de estatus da janela principal, agora eu gostaria que ao entrar na tela de venda, por exemplo, disparace um outro evento a cada x milessegundos, tem como fazer isso?

Tem como eu passar um parametro pra funcao wvw_timer() informando qual funcao ela deve executar? Ou algum outro tipo de teste?
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Status Bar com gtwvw

Mensagem por sygecom »

Bom vou pegar o bonde andando, mas pelo o que entendi, basta vc mencionar direto o que você deseja mostrar na STATUS BAR:
WVW_SBSetText( 0,0, "AQUI VAI SEU TEXTO")
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Re: Status Bar com gtwvw

Mensagem por TerraSoftware »

Amigo sygecom, agradeço sua ajuda, mas nao era exatamente isso que eu perguntei, vejo só, eu queria fazer assim:

Código: Selecionar todos

******************************************************
function WVW_TIMER(nWinNum,hWnd,message,wParam,lParam)
******************************************************
if algumacoisa
   WVW_SBsetText(0, 1, time())
endif
if outracoisa
   minhafuncaoqualquer()
endif
if novacoisa
   mostraitemnatela()
endif
return
Desta forma eu poderia usar a funcao timer para disparar diversos eventos diferentes, nao somente na StatusBar, chamados de diversos pontos diferentes. Acho inclusive que se eu criar variaveis publicas, provavelmente irei conseguir, tipo assim: hora algumacoisa é .t. hora é .f., assim a funcao timer vai executar o que eu quero na hora que eu quero.

Este é o jeito mais facil? ou existe outro?
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Status Bar com gtwvw

Mensagem por sygecom »

Justamente, acho que seu modo é o modo mais facil, ou pode deixar uma rotina em BACKGROUND rodando e atualizando sua BARRA de STATUS conforme uma variavel public:

Código: Selecionar todos

Function main
nTask1 := HB_BackGroundAdd( {|| Atualiza_barra() }, 5000 )  // atualiza a cada 5 segundos
return

Function Atualiza_barra
WVW_SBsetText(0, 1, time() ) // atualiza a hora
WVW_SBSetText( 0,0, vVARIAVEL_PUBLICA ) // atualiza a janela que esta aberta
return
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder