解决Delphi MDI 闪烁问题

简介: procedure TMainForm.CreateMDIChild(const Name: string);   var  Child: TMDIChild;   begin  { create a new MDI child window }  ...

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;


相关文章
|
10月前
|
Windows
分享:如何在VB中添加鼠标滚轮
分享:如何在VB中添加鼠标滚轮
|
11月前
|
API
机房收费系统之【只允许一个MDI窗体 错误:426】
机房收费系统之【只允许一个MDI窗体 错误:426】
63 0
|
C#
WPF 之 串口使用
WPF之串口使用
107 0
WPF 之 串口使用
解决C#winForm窗口闪烁问题
三种解决方法: 1.在构造方法中设置 ControlStyles 的OptimizedDoubleBuffer 和AllPaintingInWmPaint为True,完全启用双缓冲。 2.设置CreateParams的ExStyle为ExStyle 为 0x02000000 (WS_EX_COMPOSITED) 3.这种方法不会加快绘制的过程。当发生绘制时,窗体只是停留在不可见的状态,当绘制完成后就会在屏幕上弹出
1482 0
解决C#winForm窗口闪烁问题
|
开发工具 C语言
Qt编写自定义控件37-发光按钮
一、前言 这个控件是好早以前写的,已经授权过好几个人开源过此控件代码,比如红磨坊小胖,此控件并不是来源于真实需求,而仅仅是突发奇想,类似于星星的闪烁,越到边缘越来越淡,定时器动态改变边缘发光的亮度,产生呼吸的效果,别名叫会呼吸的痛,看到这个歌名,又让我想起了前女友,哎!久久不能忘怀!大致的原理就是使用了锥形渐变QRadialGradient,然后定时器改变该渐变画刷的颜色的透明度值,产生呼吸效果。
1216 0