如何解决窗体TForm和框架TFrame在拉伸、最大化、最小化、恢复、OnResize事件时,窗体及控件闪烁的有关问题

怎么解决窗体TForm和框架TFrame在拉伸、最大化、最小化、恢复、OnResize事件时,窗体及控件闪烁的问题?
OnResize事件里为1些布局代码等,如:
  Pnl_Function.Width   :=   Shape1.Width   -   2;

---------------------------------------------
另:动态生成框架,在显示时也闪烁?如:
var
    UserShopSearch:   TFrameUserShopSearch;   //框架   TFrameUserShopSearch   =   class(TFrame)
begin
    if   UserShopSearch   =   nil   then   begin
        UserShopSearch   :=   TFrameUserShopSearch.Create(pnlMain);//pnlMain为TPanel
        UserShopSearch.Init();//初始化   =TForm.OnCreate事件
        UserShopSearch.Init0();
        UserShopSearch.Align   :=   alclient;
        UserShopSearch.Parent   :=   pnlMain;
    end;
    if   not   UserShopSearch.Visible   then   UserShopSearch.Show;
end;
能不能解决闪烁问题?比如生成并初始化后,再显示出来?

------解决方案--------------------
更新大小前用LockWindowUpdate(Handle),更新后用LockWindowUpdate(0)
------解决方案--------------------
楼上正解