Originariamente inviato da OmbraDiFenice
è come se la funzione della dlg venisse chiamata più volte, anche se non dovrebbe farlo (secondo i miei calcoli... ho messo la chiamata alla dlg solo in un punto, quindi non so perchè fa così)
La window/dialog procedure non la invoca direttamente il programmatore ..... è la funzione DispatchMessage() (tipicamente usata nel cosiddetto "loop dei messaggi") che la invoca ogni volta che deve dispacciare un messaggio.

È ed tranquillamente possibile che una window procedure riceva anche decine e decine (se non centinaia) di messaggi nell'arco di 1 secondo! Basta che muovi il mouse sopra la window/dialog e vengono inviati tantissimi messaggi.

Peccato che non hai il tool Spy++ (fornito in genere con il Visual C++) perché altrimenti te ne renderesti subito conto.