Resizing window causes black strips
Posted
by Paja
on Stack Overflow
See other posts from Stack Overflow
or by Paja
Published on 2010-04-10T13:00:59Z
Indexed on
2010/04/10
13:03 UTC
Read the original article
Hit count: 396
I have a form, which sets these styles in constructor:
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
And I draw some rectangles in Paint
event. There are no controls on the form. Hovewer, when I resize the form, there are black strips at right and bottom of the form. Is there any way to get rid of them? I've tried everything, listening for WM_ERASEBKGND
in WndProc
, manually drawing the form on WM_PAINT
, implementing custom double buffer, etc. Is there anything else I could try?
I've found this: https://connect.microsoft.com/VisualStudio/feedback/details/522441/custom-resizing-of-system-windows-window-flickers and it looks like it is a bug in DWM, but I just hope I can do some workaround.
Please note that I must use double buffering, since I want to draw pretty intense graphic presentation in the Paint
event. I develop in C# .NET 2.0, Win7.
© Stack Overflow or respective owner