热情软件屋

 

如何实现窗体在屏幕的中心从无到有从小到大的出现


编号:QA003532
建立日期: 2000年11月13日 最后修改日期:2000年11月13日
所属类别:

dave:
    操作系统:windows 98 第二版
    编程工具:vb 6.0
    问题:本人想做一个动态的form,在屏幕的中心从无到有从小到大的出现,效果就如同网络蚂蚁的显示下载信息的消息框一样。我通过不断调整form的top,left,width,height四个属性,每调整一次就重新显示并隐藏一次form,但这样生成的form闪烁的非常严重,即使把form的autoredraw属性设为false也没有用.而且只要重设这四个属性中的任何一个,还没有执行下面的其它属性设定和form.refresh(或form.show)指令,form就自动重绘,导致form 的闪烁和偏离屏幕中心.不知该如何解决,请各位高手不吝赐教。Thanks!
    水平: 中级

回答:

    zhuzq的意见:
    经试验,使用先隐藏后显示的方法的确有很严重的闪烁感,可以不使用它。下面的代码是经过测试的,Form1使用缺省属性。
    Sub main()
    Dim i, j
    Const CX = 7700
    Const CY = 5500
    With Form1
     .Show
     For i = 0 To 10
     Form1.Left = 7700 - i * 700
     Form1.Top = 5500 - i * 500
     Form1.Height = i * 1000
     Form1.Width = i * 1400
     Form1.Refresh
     Next i
    End With
    End Sub
    wngwnt的意见:
    不要单独设置Left、Height、Top、Width,可以使用Move方法,如:
    me.move me.left-10,me.top-10,me.width+20,me.height+20

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio