delphiup

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不动,也不会闪烁了

posted on 2008-08-15 11:28 delphiup 阅读(46) 评论(0)  编辑 收藏 网摘


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:

相关链接: