Página 1 de 1
Status Bar com gtwvw
Enviado: 04 Set 2008 11:37
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 !!
Re: Status Bar com gtwvw
Enviado: 04 Set 2008 11:52
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.
Re: Status Bar com gtwvw
Enviado: 20 Out 2008 11:01
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?
Re: Status Bar com gtwvw
Enviado: 20 Out 2008 11:29
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.
Re: Status Bar com gtwvw
Enviado: 20 Out 2008 14:04
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?
Re: Status Bar com gtwvw
Enviado: 20 Out 2008 14:30
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")
Re: Status Bar com gtwvw
Enviado: 20 Out 2008 16:40
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?
Re: Status Bar com gtwvw
Enviado: 21 Out 2008 11:27
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