to kafa(求问者) 忘了说了,做一个DLL,调用DLL中的窗体,该窗体上放置gif,这时候的gif是会动的
dll中的窗体,没做过,能说明白点吗?谢谢
或者你可以先弹出窗口播放gif,然后再执行数据库语句 呵呵~
用dll 里的也不可以,那个图片还没有显示出来,程序都不会动了,要等执行完了,才会显示
怎么可能呢?我一直是这样做的,给你看看我的源代码吧dll中包含一个窗体FrmMessage,该窗体仅仅是一个gif控件和一个label用来显示信息在dll工程里面的一个类模块中,定义如下函数Public Function CreateWaitFrm(ByVal sGifPath As String, sMessage As String) As Object Dim f As Object On Error GoTo ErrorHandle If sGifPath = "" Then sGifPath = GetSetting("Test", "AppPath", "AppPath", "C:\") End If Screen.MousePointer = vbHourglass If Right(Trim(sGifPath), 1) <> "\" Then sGifPath = Trim(sGifPath) & "\" End If FrmMessage.mstrWaitPath = sGifPath '这两个变量是等待窗体中是用到的目的在于 FrmMessage.lblMessage.Caption = sMessage '确定gif文件和显示的提示字符串 Set f = FrmMessage
SetWindowPos f.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATE '把窗体置顶 f.Refresh Set CreateWaitFrm = f Exit Function ErrorHandle: MsgBox "产生等待窗体出错: " & Error End Function主程序在引用了该dll之后用下面的语句调用Dim ObjFrmWait As Object Set ObjFrmWait = CreateWaitFrm("", "正在操作,请稍候") '中间放上你的数据库处理程序。 Unload ObjFrmWait Set ObjFrmWait = Nothing 我们一直是这样处理的,在数据库长时间处理的过程中gif图片会动,免得用户觉得死机。如果还有什么问题可能就是在gif显示控件上,如果需要我们用的那个控件请和我QQ联系:71429660
Dim f As Object
On Error GoTo ErrorHandle
If sGifPath = "" Then
sGifPath = GetSetting("Test", "AppPath", "AppPath", "C:\")
End If
Screen.MousePointer = vbHourglass
If Right(Trim(sGifPath), 1) <> "\" Then
sGifPath = Trim(sGifPath) & "\"
End If
FrmMessage.mstrWaitPath = sGifPath '这两个变量是等待窗体中是用到的目的在于
FrmMessage.lblMessage.Caption = sMessage '确定gif文件和显示的提示字符串
Set f = FrmMessage
SetWindowPos f.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATE '把窗体置顶
f.Refresh
Set CreateWaitFrm = f
Exit Function
ErrorHandle:
MsgBox "产生等待窗体出错: " & Error
End Function主程序在引用了该dll之后用下面的语句调用Dim ObjFrmWait As Object
Set ObjFrmWait = CreateWaitFrm("", "正在操作,请稍候")
'中间放上你的数据库处理程序。
Unload ObjFrmWait
Set ObjFrmWait = Nothing
我们一直是这样处理的,在数据库长时间处理的过程中gif图片会动,免得用户觉得死机。如果还有什么问题可能就是在gif显示控件上,如果需要我们用的那个控件请和我QQ联系:71429660
Set ObjFrmWait = CreateWaitFrm("", "正在操作,请稍候")你这样还不可以调用呀,还要写一个dim name as new class1
kk.CreateWaitFrm(...)这样才可以