Question

Je n'ai jamais tout à fait compris pourquoi l'effacement de l'arrière-plan a un message Windows séparé. J'ai l'air un peu redondant pour moi. Lorsque j'ai créé des boutons dessinés par le propriétaire, j'ai toujours fini par effacer l'arrière-plan de l'intérieur wm_paint. J'ai parfois même fait toute la peinture de l'intérieur wm_erasebkgnd et laissé wm_paint vide. Les deux semblent bien fonctionner. Y a-t-il un avantage à séparer la peinture en 2 opérations?

Était-ce utile?

La solution

Ce sont entièrement des suppositions:

Dans les temps anciens, remplir un rectangle de couleur était une opération relativement lente. Mais remplir un gros rectangle était encore beaucoup plus rapide que de remplir beaucoup de petits rectangles.

Je suppose que si vous aviez une fenêtre avec une fenêtre d'enfant et que les deux avaient le même pinceau d'arrière-plan enregistré, alors Windows était assez intelligent pour réaliser qu'il n'avait pas besoin d'envoyer un WM_ERASEBKGND à l'enfant alors qu'il avait déjà effacé le parent. Avec une boîte de dialogue modérément complexe sur un PC très lent, cela pourrait être une amélioration significative.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top