Página 1 de 1

Problema com o objeto ProgressBar!

Enviado: 24 Jan 2013 20:43
por jsnascimento
Prezados amigos,

Boa Noite!


Tomei algumas linhas de códigos em Clipper 5.2 de minha autoria, e estou migrando para HMG. Tenho aprendido muito com essa brincadeira!

Agora me vejo debatendo com o objeto “ProgressBar” em meu aplicativo. Pouco tempo atrás inclusive foi-me sugerido a utilização de tal objeto.

Implantei uma barra de tarefa (ProgressBar) no meu aplicativo que funciona perfeitamente, desde que o usuário mantenha a janela do aplicativo em foco. Se alternar para qualquer tarefa do Windows, quando voltar, o "ProgressBar" terá sumido.

O que tenho que fazer para fixar a “ProgressBar”, mantendo-a sempre visível, mesmo alternando entre tarefas do Windows?

Código: Selecionar todos

 * Ativa a  (ProgressBar) - antes do "Do While"  - - - Circuito Principal
Main.Barra.visible:=.T.

Código: Selecionar todos

Do While .not. eof() 
      *
      *------------------------------------------------------------------------*
      * ---> Do Events
      *      Permite que a HMG processe suas mensagens (eventos),
      *      sendo que um deles é controlar a janela popup que se abre com o
      *      pressionamento da tecla F10
      *------------------------------------------------------------------------*      
      Do Events
      *
      * Captura o número do registro atual  da área ( 1 )    
      Wreg_tual := Recno()
      *
      * Mostra a Barra de Progressão de Tarefas  -  (ProgressBar)                   
      Main.Barra.value:=(Wreg_tual/Wtotreg)*100       
      *
	    * -> Inicia as variáveis com blank
	    *       	  
	    INIC_VARM()	 
      *
      *
      *

Código: Selecionar todos

*
*	 
* Desativa a (ProgressBar) ao final da execução do aplicativo
  Main.Barra.visible:=.F.
*
*


Abraços!



Jamil S. Nascimento
Hmg 3.0.35 --- Windows Xp Sp3

Problema com o objeto ProgressBar!

Enviado: 25 Jan 2013 09:18
por Pablo César
Oi Jamil, estou de volta. Não respondi aquele tópico porque vi que os colegas deram uma forcinha.
jsnascimento escreveu:Implantei uma barra de tarefa (ProgressBar) no meu aplicativo que funciona perfeitamente, desde que o usuário mantenha a janela do aplicativo em foco. Se alternar para qualquer tarefa do Windows, quando voltar, o "ProgressBar" terá sumido.

O que tenho que fazer para fixar a “ProgressBar”, mantendo-a sempre visível, mesmo alternando entre tarefas do Windows?
Não sei se você abriu uma nova janela para exibir o ProgressBar ou se foi implementado no no form principal. Mas uma ideia seria você abrir uma janela do tipo MODAL que não permitirá ao usuário sair da janela ou utilizar o TOPMOST para que ela fique visivel quando não for do tipo MODAL.
* Desativa a (ProgressBar) ao final da execução do aplicativo
Main.Barra.visible:=.F.
Agora vi que você utiliza o ProgressBar no Formulário principal. Mas você poderia abrir um novo Form (uma nova janela, desta vez do tipo modal) quando for acionar a sua rotina onde o ProgressBar é atualizado. Claro que teria que mudar o ProgressBar para esse outro Form. Outra coisa, a finalização do seu ProgressBar estaria após o seu Do While ?

Sempre é bom ver o seu código completo, de preferência com os arquivos do projeto. Assim ajuda a podermos compilar abrindo na IDE tornando-se mais fácil para entender. Outra coisa, quando você tiver que abrir novos tópicos relacionados a HMG, peço-lhe que o faça na seção Minigui que é a seção certa para tratar com a mesma ferramenta de programação.

Problema com o objeto ProgressBar!

Enviado: 25 Jan 2013 15:26
por jsnascimento
Olá Pablo César,
Boa Tarde!


Bom retorno! Espero que tenha descansado bastante em suas férias.
É surpreendente a quantidade de pessoas interessadas e competentes que são colaboradoras neste fórum. Ainda bem! Digo isto em meu próprio benefício, pois sou novato em HMG-IDE e vou precisar muito de todos vocês.

Gente consegui resolver o problema com a “ProgressBar”!!!!!!!!! :)) :)) :))

O caso é o seguinte: Eu não queria que a “ProgressBar” fosse habilitada e mostrada logo no início do aplicativo, por isso estava desabilitando-a na função: “main_form_ongotfocus2()”, que é acionada no evento "OngotFocus" no Formulário Principal. Daí ao alternar entre janelas do Windows, ao retornar ao meu programa, o evento “OngotFocus” era disparado, e a função atrelada ao evento era acionada e na função estava o código que desabilitava a “ProgressBar” => { Main.Barra.visible:=.F. }.

Para resolver o meu problema eu suprimi o código citado acima, na função mencionada. E, para desabilitar corretamente a “ProgressBar” eu utilizei o evento: “OnInit” do formulário Principal, onde acrescentei diretamente o valor: “Main.Barra.visible:=.F.”

Animador! Estou evoluindo ...... Isto é bom! (rs!!!!!!!!)

É o famoso “Caminho das Pedras”! Apanhando e aprendendo sempre! :%


Abraços!

Jamil S. Nascimento

Problema com o objeto ProgressBar!

Enviado: 25 Jan 2013 17:11
por Pablo César
Obrigado Jamil pelas suas palavras, as férias vieram muito bem deu pra matar a saudades.

Fico também muito satisfeito, ver que o fórum cumpre bem o objetivo de multiplicar conhecimento e muito contente em saber que você está se virando e ainda em pouco tempo. Logo logo teremos um expert em HMG/Minigui.

Parabéns !