我在Form1上动态创建/切换Frame,为防止其闪烁,加入了锁屏幕/解锁屏幕的代码,如下:
    Perform(WM_SETREDRAW, 0, 0); //锁屏幕
    Perform(WM_SETREDRAW, 1, 0); //解锁屏幕并重画
    RedrawWindow(Handle, Nil, 0, RDW_FRAME+RDW_INVALIDATE+RDW_ALLCHILDREN+RDW_NOINTERNALPAINT);
工作良好,不闪烁,但是现在我使用了1stclass4000的fcImageForm载入背景图片创建异形界面,结果出现了严重的闪烁,具体情况为:
    切换Frame时Frame不闪烁,但整个背景图都会刷新,整个软件界面严重闪烁,软件界面以外的其它屏幕区域不闪烁,加入DoubleBuffered:=True有所改善,但不能完全消除。
    如果不使用上面锁屏幕/解锁屏幕的代码,切换Frame时整个背景图感觉没有刷新,整个软件界面基本不闪烁,但Frame会明显闪烁。
请各位指点一下,在使用上面锁屏幕/解锁屏幕代码的时候,怎样才能在切换Frame时不刷新fcImageForm的背景图,谢谢!