Olá Pessoal, aqui estamos para mais uma Quick Tips. Hoje veremos como simular a barra de progresso dos Browser. Isso mesmo, já reparou que enquanto uma pagina está sendo carregada em um browser temos na barra de status uma barra de progresso que indica o andamento do carregamento da página. Então vamos lá.

Crie uma nova aplicação no Delphi, feito isso adicione uma Barra de Status, uma Barra de Progresso e um botão. Observe a Figura Abaixo:



Feito isso selecione a Status Bar e através da propriedade Panels adicione dois panels. Selecione o segundo panel e altere a propriedade Style para psOwnerDraw. Observe na figura abaixo:



Configurações realizadas vamos começar a brincadeira. Selecione a progress bar e altere a propriedade visible para false. Agora selecione a status bar e adicione o código da imagem abaixo no evento OnDrawPanel.




O Evento OnDrawPanel é chamdo sempre que um panel é "desenhado" pelo SO. Como temos dois panels esse evento será chamado duas vezes. No caso queremos pintar a status bar somente no segundo Panel, por isso fazemos o if em panel.index. Feito isso alteramos o tamanho da progress bar para que ela fique do mesmo tamanho do panel onde ela será colocada.

Por fim utilizamos o método PaintTo para pintar a progress bar dentro do panel na Status bar. Rode a aplicação e verifique que a progress bar já será pintada dentro do panel.




Bem vamos apenas animar a barra de progresso, para isso de um duplo clique no botão e coloque o código abaixo:




Execute a aplicação clique no botão e observe o resultado.

Pessoal eu fico por aqui, um grande abraço e até a próxima. !!