Python Source Start -------------------------
import win32com.client
#event handler
class VBEventHandler:
def __init__(self):
pass
def OnClickToolbar(self,id):
try:
print id
except:
print "error"
def run():
obj = win32com.client.DispatchWithEvents("DHToolBarVB.VBToolBar",VBEventHandler)
try:
obj.ShowWindow()
obj = None
except:
print "main error"
obj = None
if __name__ == '__main__':
run()
End source ---------------------------------------------
VB Source Start -----------------------------------------
[Fom source]
' Event in Form module
Public Event OnClickToolbar(ByVal ID As Integer)
' RaiseEvent
Private Sub cmdToolbar_Click(Index As Integer)
RaiseEvent OnClickToolbar(Index)
If Index = cmdToolbar.UBound Then
Unload Me
End If
End Sub
[Class Source]
Private WithEvents fm As fmToolbar
Public Event OnClickToolbar(ByVal ID As Integer)
'-------------------------------------
' Class event
'-------------------------------------
Private Sub fm_OnClickToolbar(ByVal ID As Integer)
RaiseEvent OnClickToolbar(ID)
End Sub
'--------------------------------------
' Class Initialize & Terminate
'--------------------------------------
Private Sub Class_Initialize()
Set fm = New fmToolbar
End Sub
Private Sub Class_Terminate()
If Not fm Is Nothing Then Set fm = Nothing
End Sub
'--------------------------------------
' class method
'--------------------------------------
Public Sub ShowWindow()
fm.Show vbModeless
End Sub
Public Sub DestroyWindow()
Set fm = Nothing
End Sub
|