I create a compound control which has a window. When the user triggers a button, it displays the selection listbox which is displayed in another window. but after the selection listbox is closed, the original interface become very "dirty", especially the component such as the label.
How do I refresh these components and the background of the original window? I try to call DrawNow(), but it doesn't work at all.
I saw someone override Draw() and call the code below in Draw().
CWindowGc& gc = SystemGc();
But I don't want to the background is painted by a single color.
I think the problem is that I don't write a correct Draw(). Currently, I don't define a Draw() for my compound control.
Does anyone have any ideas how to do it?
Thank you in advance.

By the way, I tried MakeVisable() to switch between my compound control and the listbox, but got the same result.