delphi MDI 闪烁问题

闪烁问题这样解决:
用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不动,也不会闪烁了

转载于:https://www.cnblogs.com/delphiup/archive/2008/08/15/1268544.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值