我在Vb6中创建了OCX,它只包含Listview控件(从MSCOMCTL.ocx添加)和编码“拖放”功能,目前我想在另一个应用程序中实现OCX,但我不知道如何处理事件
Listview预定义了事件/方法/属性,当我创建我的OCX时,未加载预先化的Lisview事件。示例Listview1.Listitem
public sub Listviewocx()
eventvar1 = Data.Files.Count
For intCOunter = 1 To eventvar1
strpath = Data.Files(intCOunter)
msgbox strpath
next
end with
End sub
由于 瑟尔
答案 0 :(得分:0)
创建ActiveX控件时,不会自动公开组成控件的事件,方法和属性(在您的情况下,“组成控件”是ListView)。例如,如果您希望控件的用户可以访问ListView的click事件,则必须在click事件处理程序中再次引发事件。像这样:
Sub ListView1_Click()
RaiseEvent "MyListViewClick"
End Sub
然后,在使用您的控件的应用程序中:
Sub Listviewocx_MyListViewClick()
'Handle the event here
End Sub
您必须对组成控件的属性和方法执行类似的操作。
有关详细信息,请阅读this以及有关ActiveX控件的相关文档。