So, the problem of transparent background is solved. Now, every time I show a shape (or need to recolor it), I get a lot of flicker. Is there a way I can not refresh the screen until the drawing process is complete, or is there any other way to stop 1/2 second blinking and blinking while all objects are drawn?
ANSWER . Double buffering is the way to go. I have already double-buffered the control, but it must be set on the form. Although double buffering only worked when you subclassed OnPaint yourself.
user29140
source share