resizablelib icon indicating copy to clipboard operation
resizablelib copied to clipboard

Add Option to disable CResizableLayout::HandleNcCalcSize (help elimin…

Open 0ric1 opened this issue 6 years ago • 2 comments

…ate flickering), because of e.g. VISTA redraw problems.

0ric1 avatar Sep 03 '19 08:09 0ric1

Flickering is not caused by the graphics card, but they way the Windows OS redraws the client area.

HandleNcCalcSize() can avoid flickering, or at least reduce it considerably, if you resize the window by dragging the top or left borders, because by default the client area is copied to the top-left corner and so you would get flickering at the opposite side, even if it does not move in that case.

That fix was useful only for WinXP and Win2000, not sure about Win7 with "old-style" window theme. In modern Windows OSes the window drawing appears to be double-buffered, but I'm not sure exactly which versions and what system/application settings to check at runtime.

ppescher avatar Sep 03 '19 09:09 ppescher

I added a DISABLE_ELIMINATE_FLICKERING to be able to disable it, because we had redraw problems on Vista when it was enabled - it look good without the HandleNcCalcSize code even on Windows 10.

0ric1 avatar Sep 03 '19 09:09 0ric1