用Delphi自带的MDI模板自动建立一个多文档工程,然后做如下修改,可使屏幕不闪烁 procedure TMainForm.CreateMDIChild(const Name: string); var Child: TMDIChild; begin { create a new MDI child window } Perform(WM_SETREDRAW, 0, 0); //锁屏幕 Child := TMDIChild.Create(Application); Child.WindowState := wsMaximized; //假设在这里将新建的子窗体设为最大化 //或设置子窗体的Width和Height都可以 Child.Caption := Name; if FileExists(Name) then Child.Memo1.Lines.LoadFromFile(Name); Perform(WM_SETREDRAW, 1, 0); //解锁屏幕并重画 RedrawWindow(Handle, Nil, 0, RDW_FRAME + RDW_INVALIDATE + RDW_ALLCHILDREN + RDW_NOINTERNALPAINT); end; 这样,就是在主窗体中一直按着Ctrl+N不动,也不会闪烁了