Jen*_*off 6 delphi resize tpanel
我注意到,resize flicker获得当我设置好很多TPanel.FullRepaint到False.由于该属性存在且True默认情况下,因此必须有一些原因.
如何决定是否应该设置?
帮助只是声明:
FullRepaint控制面板调整大小时的响应方式.当FullRepaint为true时,整个面板(包括斜面边框)会在尺寸更改时重新绘制.当FullRepaint为false时,只有斜面边框内的区域重新绘制.
http://docwiki.embarcadero.com/Libraries/XE3/en/Vcl.ExtCtrls.TPanel.FullRepaint
该文本说它做了什么,但不是为什么......
可以显示缺失的 Fullrepaint 的效果,您必须决定是否需要它。
运行程序并调整窗体大小,有时第一个面板的边框不会刷新。
发生这种情况是因为在 WMWindowPosChanged 中,在 (FullRepaint 或 (ShowCaption and (Caption <> ''))) 的情况下,将调用 invalidate,否则仅包含右侧和/或底部的矩形的 InvalidateRect(Handle, Rect, True)边界无效。(感谢 Sertac Akyuz 的更正)  
正如您提到的,避免无效会减少闪烁,并且在许多情况下,没有给出完全无效的需要,因此用户可以自行决定如何继续。
面板很少会被使用,上部没有Fullrepaint
