https://bugs.winehq.org/show_bug.cgi?id=27579
--- Comment #41 from Lorenzo Ferrillo lorenzofer@live.it --- More info from wxWisget source.
When the comctl32.dll version is > 6 the listctrl component is assigned style LVS_EX_DOUBLEBUFFER and wxWidget make this call: // When using LVS_EX_DOUBLEBUFFER, we don't need to erase our // background and doing it only results in flicker. SetBackgroundStyle(wxBG_STYLE_PAINT);
wxWidget also install it's own wndproc that handle messages, and forward to the builting procedure if a message is not handled. (it return false form the internal message processing routine)
Now wxWidget as specific handling of WM_ERASEBKGND, then when the background style is wxBG_STYLE_PAINT or wxBG_STYLE_TRANSPARENT it return True and doesn't erase the background
It probably expect it to be fully repainted in WM_PAINT