Escolar Documentos
Profissional Documentos
Cultura Documentos
- Stack Ov…
1. Refresh, de TControl;
11
2. Update, de TControl;
5. Além do Application.ProcessMessages?
delphi
Ordenado por:
1 Resposta
Maior pontuação (predefinição)
Invalidate
O método Invalidate só marca o componente para ser pintado na próxima vez que a
14 interface for atualizada. Ele não re-desenha o componente no momento que foi chamado.
Update
Método que re-deseha o componente imediatamente, desde que ele já tenha sido
invalidado, sem esperar pelo processamento das mensagens de re-desenhar pelo Windows.
Gera consumo de tempo de processador pois vais parar todas as atividades da thread
principal da aplicação para redesenhar.
Isto quer dizer que, se você tiver alterado algo que implique em mudança visual, e o
componente não tiver sido Invalidado, depois do update a alteração pode não ser
processsada.
Repaint
O repaint força o componente a se re-desenhar imediatamente. Se a propriedade
ControlStyle incluir csOpaque , o componente irá redesenhar-se, senão será executado o
método Invalidate e logo depois o método Update
https://pt.stackoverflow.com/questions/37413/qual-a-diferença-nos-métodos-refresh-update-repaint-invalidate-e-no-applicati 1/2
12/06/2023, 14:30 delphi - Qual a diferença nos métodos Refresh, Update, Repaint, Invalidate e no Application.ProcessMessages? - Stack Ov…
Refresh
Segundo a documentação o Refresh executa o Repaint , e portanto fazem exatamente a
mesa coisa, tanto que consta ainda que eles são intercambiáveis, isto é, tanto faz usar um ou
o outro
Application.ProcessMessages
Força a aplicação a processar as mensagem do Windows.
https://pt.stackoverflow.com/questions/37413/qual-a-diferença-nos-métodos-refresh-update-repaint-invalidate-e-no-applicati 2/2