Office中国论坛/Access中国论坛

标题: [求助]窗体中的图片闪烁? [打印本页]

作者: 无忧    时间: 2006-3-25 19:58
标题: [求助]窗体中的图片闪烁?
所有图片保存在指定路径里,是一寸大小300象素照片,窗体中设置了VBA判定有无图片并加载:

Private Sub Form_Current()

Dim path$
path$ = CurrentProject.path & "\员工照片\" & 工号.Value & 姓名.Value & ".jpg"

If Dir(path$) <> "" Then
    Me.Image65.Visible = True
    Me.Image65.Picture = path$
    Me.有无照片.Visible = False   
Else
    Me.Image65.Picture = ""
    Me.Image65.Visible = False
    Me.有无照片.Visible = True   '在原来图片位置显示“未找到照片”标签

End If

End Sub

可是在打开窗体或点看下一条记录时,总有一个“正在加载。。。。\。。\101姓名.jpg”的窗口一闪而过,看着不舒服,怎么优化它?

或者说,如果我想实现加载图片,怎么做最好?

[attach]16657[/attach]

作者: beurox    时间: 2006-3-25 20:55
[em01][em01][em01][em01]
作者: beurox    时间: 2006-3-25 20:56
[em02][em02][em02]
作者: beurox    时间: 2006-3-25 20:56
[em05][em05][em05]
作者: gaoqiwen    时间: 2006-3-25 21:02
引用MSForms.Image可以,无此现象:

[attach]16658[/attach]

作者: 无忧    时间: 2006-3-27 17:43
以下是引用gaoqiwen在2006-3-25 13:02:00的发言:


引用MSForms.Image可以,无此现象:

[attach]16658[/attach]

谢谢!这两天IE中毒,只能看帖不能回帖,急死了,今天好不容易弄好了。

你的方法真管用。

可为什么我自己重新做的就不行?我的过程如下:

1.在引用中浏览FM20.DLL文件,在MSForms前注意打勾。

2.修改语句如下:Private Sub Form_Current()

Dim path$
path$ = CurrentProject.path & "\员工照片\" & 工号.Value & 姓名.Value & ".jpg"

If Dir(path$) <> "" Then
    Me.Image65.Visible = True
    Me.Image65.Picture = LoadPicture(path$)
    Me.有无照片.Visible = False
Else
    Me.Image65.Picture = LoadPicture("")
    Me.Image65.Visible = False
    Me.有无照片.Visible = True
End If

End Sub

在运行时,在  Me.Image65.Picture = LoadPicture(path$)处出错,并出现下面提示:

[attach]16694[/attach]

这是为什么?

作者: 无忧    时间: 2006-3-28 01:22
快沉了。。。。

好象找出为什么了。

因为我用的是控件箱里默认的IMAGE控件,而他用的是其它控件里的MSFORM.INAGE控件,原来如此!我说我那个控件里怎么跟他的不太一样呢。

不过,还想问的是,image图象控件和MSFORM.INAGE控件有区别吗?

[此贴子已经被作者于2006-3-27 17:31:37编辑过]


作者: alexwhy145    时间: 2006-4-15 21:22
图片多了速度慢。
作者: 羽佳    时间: 2006-4-17 02:43
可参照罗斯文里的这个代码.

Private Sub Form_RecordExit(Cancel As Integer)
   
    ' 在不同的记录间切换时,隐藏错误信息标签,以减少闪烁.
    错误信息.Visible = False
End Sub






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3