Clipper On Line • Ver Tópico - Help 2 MiniGUI
Mudar para estilo Clássico
Projeto MiniGui - Biblioteca visual para Harbour/xHarbour
Postar uma resposta

Help 2 MiniGUI

19 Mai 2013 19:28

Colegas.

Qual o código poderia ser usado na MiniGUI para colocar um BOX na tela com uma mensagem dinâmica (exemplo abaixo) e que não interrompesse o processamento.

+-------------------------------------------+
| Procesando registro nº 99881 |
+-------------------------------------------+

O número do registro é alterado conforme o processamento avança.

Help 2 MiniGUI

19 Mai 2013 20:09

Acho que o WaitWindow serviria para exibir mensagem mas não sei como faria para atualizar a mensagem. Suponho que no processamento você poderia mudar a mensagem através do SendMessage API do Windows com alguma rotina em C.

Provavelmente utilizaria o WaitWindow habilitando, mostrando e desabilitando, nisso num laço de repetição até terminar o processamento e acionar o WaitWindow a cada mudança. Só não sei se não irá ficar mais lento o processamento com isso.

Experimente WaitWindow com timeout 1

Help 2 MiniGUI

20 Mai 2013 17:08

Olá Pablo.

Estive pensando (o que é anormal...rsrsrsrs).

Será que eu poderia compor algo com o FRAME, sem CAPTION, e depois imprimir os dados dentro dele com o Comando LABEL ?
Isto poderia ser criado como uma Função ?

O Control Comand FRAME parece que não possui Propriedade do tipo:
@ 18,31 FRAME frame_1 CAPTION "" ;
WIDTH 576 HEIGHT 321 BOLD
principal.frame_1.value := "Número do Registro"

Help 2 MiniGUI

20 Mai 2013 18:15

Não sei se o uso do frame iria solucionar, pois o frame é apenas o box do Clipper, só exibe requadro. Mas tenho outra sugestão: você mostrar o progresso do seu processamento exibindo-lo no StatusBar. O STRU utiliza o StatusBar e modifica as mensagens conforme situação. Talvez esta seja uma forma menos pesada e mais simples de resolver...

Ou até mesmo simular uma janela desenhando no Print Brush um arquivo de imagem e no meio um label e atualizar o Value.

Outra forma, seria você utilizar um ProgressBar. Na Minigui tem um exemplo combinado com label em C:\MiniGUI\SAMPLES\BASIC\PROGRESSBAR\DEMO2.prg. Veja o video:

Help 2 MiniGUI

21 Mai 2013 08:31

Muito boas as sugestões.

Vou testá-las, todas, e volto ao assunto.

Obrigado Pablo.

Help 2 MiniGUI

21 Mai 2013 11:41

O ProgressBar que utilizei no STRU, pode ver que a princípio está escondido e é visualizado apenas quando tem que mostrar o movimento.
Postar uma resposta