Ok, I find the reason:
In the wxsmith, the textctrl style has wxTE_RICH2(enabled), if I disable this option, then it refreshes FINE.
I have tried another option which I enable wxTE_RICH, the bug happens again.
I'm not sure what's the exact meaning of those options. See the documents:
wxTE_RICH Use rich text control under Win32, this allows to have more than 64KB of text in the control even under Win9x. This style is ignored under other platforms.
wxTE_RICH2 Use rich text control version 2.0 or 3.0 under Win32, this style is ignored under other platforms