我在工程、窗體、控件刪除事件中有代碼。
結果以VB關閉,或工程關閉時,也會觸發。如果獲得這二個事件或消息。
結果以VB關閉,或工程關閉時,也會觸發。如果獲得這二個事件或消息。
解决方案 »
- 不熟悉VB,请教高手,App对象是怎么实现的?
- 数据进位的问题
- execute可以执行select语句,执行update语句程序就挂
- 如何得到框架网页源码?
- 关于一个窗体事件的小问题,分不多,100而已
- 请教各位大侠:如果一次给打印机一万条打印记录。会不会死机。。。急。在线等。。
- 如何移动treeview得整个节点(包括子节点)--最好是比较简单得方法
- 高分重赏,如果有二个窗口标题一样,类名也一样,一个窗体是另一个的父窗体,现在我知道父窗体的的句柄,怎么获得另一个窗体的句柄?
- 请结实这段代码!谢谢
- 是我的Gdi32.dll有毛病,还是大家的都有.
- 调用“winmm.dll” timsSetevent和timeKillEvent 读随机文件,在vb内运行正常生产exe后报错!急!必有重谢!!!
- 解决显示SQL日期格式的求助
另外看看这个:
http://www.cittm.net/Article/sheji/vb/200601/1661.html
VB6的插件製作已經沒問題。當用戶刪除控件、窗體、工程時,
我需要及時更新數據庫裏的資料,
這也能做到。現在問題在於,當我關閉VB,或關閉工程時,
注意,不是刪除。
但VB本身會移除控件、窗體、工程,
這也會觸發事件。也就是說,我現在無法判斷是刪除,還是由於關閉工程或VB時觸發這個事件的。
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
On Error GoTo Error_Handler
'save the vb instance
Set VBInstance = Application
If ConnectMode = ext_cm_External Then
'Used by the wizard toolbar to start this wizard
'
Else
Set m_oHandlerOfProjectEvent = VBInstance.Events.VBProjectsEvents()
End If
Exit Sub
Error_Handler:
MsgBox Err.Description
End SubPrivate Sub m_oHandlerOfProjectEvent_ItemActivated(ByVal VBProject As VBIDE.VBProject)
MsgBox VBProject.Name & "激活"
End SubPrivate Sub m_oHandlerOfProjectEvent_ItemAdded(ByVal VBProject As VBIDE.VBProject)
MsgBox VBProject.Name & "打开"
End SubPrivate Sub m_oHandlerOfProjectEvent_ItemRemoved(ByVal VBProject As VBIDE.VBProject)
MsgBox VBProject.Name & "关闭"
End SubPrivate Sub m_oHandlerOfProjectEvent_ItemRenamed(ByVal VBProject As VBIDE.VBProject, ByVal OldName As String)
MsgBox VBProject.Name & "重命名"
End Sub
你写的我已经做到了,
我现在需要区别删除工程的前面操作是什么?
是用菜单删除?还是移除工程?
还是由于关闭VB?这些操作都是引发你写的这些事件,
我现在需要区别是哪些操作引发的。比如ItemRemoved,你用菜单删除,用菜单移除,关闭VB,新建工程,
这些都会触发ItemRemoved,我现在需要分清是哪个触发的。
比如新建操作Private WithEvents moHandlerOfNewProjectBtn As CommandBarEvents
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
On Error GoTo Error_Handler
'save the vb instance
Set VBInstance = Application If ConnectMode = ext_cm_External Then
'Used by the wizard toolbar to start this wizard
'
Else
Set moHandlerOfNewProjectBtn = VBInstance.Events.CommandBarEvents(VBInstance.CommandBars("菜单条").Controls("文件(&F)").Controls("新建工程(&N)")) End If
Exit Sub
Error_Handler:
MsgBox Err.Description
End Sub
Private Sub moHandlerOfNewProjectBtn_Click(ByVal CommandBarControl As Object, handled As Boolean, CancelDefault As Boolean)
MsgBox "新建工程"
End Sub