fsMDIChild类型的子窗体在打开时闪烁,郁闷。不知如何解决?

解决方案 »

  1.   

    解决的办法:
     Perform(WM_SETREDRAW, 0, 0); //锁屏幕 
     Frm := TChildForm.Create(Self);
     Perform(WM_SETREDRAW, 1, 0); //解锁屏幕并重画
     RedrawWindow(Handle, nil, 0, RDW_FRAME + RDW_INVALIDATE +
        RDW_ALLCHILDREN + RDW_NOINTERNALPAINT);
    Frm.Show ;
      

  2.   

    lockwindowupdate(handle);
    if not checkMDIChildform('MaterialFrm') then MaterialFrm:=TMaterialFrm.create(self);
    MaterialFrm.WindowState:=wsMaximized;
    lockwindowupdate(0);
      

  3.   

    子窗体打开的时候只要create就可以了,不用另外再加一行show,因为默认子窗体是visible = true;的
      

  4.   

    chuxinzi(楚信子)和 jixinfa(DELHPI程序员)的办法都有效果,好多了,chuxinzi(楚信子)的办法稍微有一点慢.
      

  5.   

    LockWindowUpdate(Handle);   //防止窗体闪烁
      CreateMdiForm; 
      LockWindowUpdate(0);