This is from a +message,+relay trace - surely this cannot be right? Just before this in the trace that same window proc generates lots of calls in response to a WM_NCPAINT message, so why might it not be generating any calls at all for ERASEBKGND?
trace:message:SPY_EnterMessage (0x2007e) L"Main" message [0014] WM_ERASEBKGND sent from self wp=000012ec lp=00000000
08078250:Call window proc 0x988cce (hwnd=0x2007e,msg=WM_ERASEBKGND,wp=000012ec,lp=00000000)
08078250:Ret window proc 0x988cce (hwnd=0x2007e,msg=WM_ERASEBKGND,wp=000012ec,lp=00000000) retval=00000001
trace:message:SPY_ExitMessage (0x2007e) L"Main" message [0014] WM_ERASEBKGND returned 00000001
(is there any way to stop evolution wrapping the text?)
This is from a toolbar in XMLSpy, the BCGToolBar MFC control, so I expect it overrides all kinds of things. The buttons draw OK, but the surrounding area doesn't get redrawn, so the toolbar handle and the parts around and in between the buttons are damaged. Is that simply due to the background not getting erased, or is it due to an invalidation bug do you think? I tried with Spy++ and the message order seems correct, a fairly standard paint->ncpaint->erasebkgnd sequence.
Any ideas? thanks -mike