Vb.net IVideoWindowMessageDrain在VB中不工作?
我有一个VB应用程序,其中我使用QuartzTypeLib显示2个视频文件。 现在,我尝试处理每个视频上的点击事件和双击事件Vb.net IVideoWindowMessageDrain在VB中不工作?,vb.net,directshow,Vb.net,Directshow,我有一个VB应用程序,其中我使用QuartzTypeLib显示2个视频文件。 现在,我尝试处理每个视频上的点击事件和双击事件 ivideo窗口的声明是: 作为QuartzTypeLib.IVideoWindow的公共视频窗口(0到1) 我将所有者和messagedrain设置为: For i = 0 To 1 videowindow(i).Owner = videolist(i).Handle.ToInt32 videowindow(i).M
ivideo窗口的声明是:
作为QuartzTypeLib.IVideoWindow的公共视频窗口(0到1)
我将所有者和messagedrain设置为:
For i = 0 To 1
videowindow(i).Owner = videolist(i).Handle.ToInt32
videowindow(i).MessageDrain = videolist(i).Handle.ToInt32
Next i
其中videolist
是一个面板列表
我已经为videolist(0)
和videolist(1)
创建了一个单击事件,但是这些事件不起作用(当我单击视频时没有发生任何事情)。在处理IVideoWindow
事件之前,是否需要执行一些额外的步骤
我做错了什么?您应该能够使用Spy++实用程序查看消息是否正确转发到目标窗口。一旦您确定发生了这种情况,请检查您的VB应用程序窗口,了解此消息未正确处理的原因。@RomanR。非常感谢。我在互联网上搜索过,发现我没有正确处理点击事件。对于click事件,我只是在面板上生成了一个事件,但是从我读到的内容来看,我发现我需要重写WndProc
方法。你知道我怎么做吗?这就是你要找的吗?或者,如果你需要VB.NET示例,如果用谷歌搜索一个合适的示例更容易的话。这正是我需要的。在我的情况下,它不工作或我没有正确处理事件。