Office中国论坛/Access中国论坛
标题:
如何改进这个问题?这是我在论坛中下到的一个VBA教材中教的。
[打印本页]
作者:
zhf2004
时间:
2004-1-30 03:30
标题:
如何改进这个问题?这是我在论坛中下到的一个VBA教材中教的。
这是我在论坛中下到的一个VBA教材中教的。
窗体真正居中显示
如下代码可以做到真正居中显示
Private Sub Form_Load()
DoCmd.Echo False ‘但是这句不起作用啊
Dim x, y As Integer
DoCmd.Maximize
x = Me.WindowWidth
y = Me.WindowHeight
DoCmd.Restore
DoCmd.Echo True
Move (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2
End Sub
运行时窗体倒是能居中,但是总是先最大化后再居中,请问怎样作使最大化的过程不显示,使之更专业。
[此贴子已经被作者于2004-1-30 8:38:29编辑过]
作者:
zhf2004
时间:
2004-1-30 16:40
请zhengjialon斑竹帮助看看
作者:
zhengjialon
时间:
2004-1-30 20:25
这是HUANGHAI总版主的示例,最大化是为了计算当前屏幕的大小,这样才能进行下一步的居中,也就是说这一步是不可少的,否则就不能居中了,所以暂不能解决。
作者:
zhf2004
时间:
2004-1-31 20:02
可不可以让最大化的过程不显示出来,比如docmd.echo false(这句不起作用)
作者:
zhuyiwen
时间:
2004-1-31 20:15
以下是引用
zhf2004在2004-1-31 12:02:18
的发言:
可不可以让最大化的过程不显示出来,比如docmd.echo false(这句不起作用)
改用:
Application.Echo False
ACCESS帮助中实例:
应用于 Application 对象。
下面的示例使用 Echo 方法防止在运行某些操作时屏幕被重画。当过程打开一个窗体并将它最小化时,用户只看见一个表示正在进行处理的沙漏图标,而屏幕并不会重画。当该任务完成后,沙漏将变回指针,重画将被重新打开。
Public Sub EchoOff()
' Open the Employees form minimized.
Application.Echo False
DoCmd.Hourglass True
DoCmd.OpenForm "Employees", acNormal
DoCmd.Minimize
Application.Echo True
DoCmd.Hourglass False
End Sub
作者:
zhf2004
时间:
2004-1-31 23:10
谢谢zhuyiwen。我明白了。
作者:
zhf2004
时间:
2004-1-31 23:13
但屏幕还是会闪一下
Application.Echo False
Dim x, y As Integer
DoCmd.Maximize
x = Me.WindowWidth
y = Me.WindowHeight
DoCmd.Restore
DoCmd.MoveSize (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2
Application.Echo True
作者:
zhf2004
时间:
2004-2-2 01:14
如何让最大化的过程不显示?ACCESS2000,屏幕还是会闪。
Application.Echo False
Dim x, y As Integer
DoCmd.Maximize
x = Me.WindowWidth
y = Me.WindowHeight
DoCmd.Restore
DoCmd.MoveSize (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2
Application.Echo True
作者:
zhf2004
时间:
2004-2-2 20:33
如何让最大化的过程不显示????ACCESS2000,屏幕还是会闪。
Application.Echo False
Dim x, y As Integer
DoCmd.Maximize
x = Me.WindowWidth
y = Me.WindowHeight
DoCmd.Restore
DoCmd.MoveSize (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2
Application.Echo True
作者:
zhuyiwen
时间:
2004-2-2 20:41
Private Sub Form_Load()
Application.Echo False
Dim x, y As Integer
DoCmd.Maximize
x = Me.WindowWidth
y = Me.WindowHeight
DoCmd.Restore
DoCmd.MoveSize (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2, Me.WindowWidth, Me.WindowHeight
Application.Echo True
End Sub
我在ACCESS2000中运行它,屏幕并不闪呀
作者:
zhf2004
时间:
2004-2-3 03:26
看不到最大化的过程么?
作者:
zhuyiwen
时间:
2004-2-3 04:02
看不到
作者:
zhf2004
时间:
2004-2-6 20:04
你的显示器是15寸的吧,800*600,只能看到一闪
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3