Cita:
Empezado por rrf
Todo funciona normalmente aunque, cuando la ventana de otro programa (por ejemplo, el explorador de windows) tapa parte del panel con la imagen, esa parte dibujada ya no aparece cuando se vuelve a seleccionar mi programa.
Lo que quisiera saber es:
1- Si es posible hacer que el dibujo sobre el canvas del panel sea permanente. y ¿cómo se hace?
2- Y también quisiera saber, cuando se tienen ejecutándos varios programas y se pasa de usar un programa a usar otro, si hay algún evento que indique que el programa ha quedado activo en ese momento.
|
Como he dicho hay varios eventos que te pueden indicar cuando "redibujar". Esto es para Delphi, pero diría que a este nivel debe funcionar igual el lazarus.
Tanto el Formulario (
TForm) como
TApplication tienen el evento
OnActivate.
Y por supuesto el
OnPaint, aunque este "salta" muchas más veces de las que necesitas (cada vez que mueves el ratón, por ejemplo).
En concreto para lo que comentas, al activar tu aplicación y la ventana puedes usar el
Application.OnActivate, que salta cada vez que tu aplicación pasa a ser la activa.