首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于picture的有关问题,好像很简单,实际太难

2012-02-03 
关于picture的问题,好像很简单,实际太难,请教高手picture中正在播放视频,怎么让他响应MouseDown事件Privat

关于picture的问题,好像很简单,实际太难,请教高手
picture中正在播放视频,怎么让他响应MouseDown事件

Private   Sub   Picture1_MouseDown(Button   As   Integer,   Shift   As   Integer,   X   As   Single,   Y   As   Single)
Msgbox   "正在播放某某影片 "
End   Sub

现在情况是,不播放视频时,单击鼠标会弹出窗口,等视频播放时,再怎么单击就不响应事件了,有什么方法可以让他响应mousedown事件

[解决办法]
子类化啊~~~

我手头的那个摄像头图象显示代码里就是在图片框上另建了一个窗口用于播放

你只需要找到它的类名(假如是由DLL里建立它的话),使用FindWindowEx就可以得到句柄;

然后子类化,对其鼠标消息进行处理.

我上次帮一个朋友弄了一个子类化WMP窗口,实现拦截双击消息以消除双击全屏的功能,你可以参考一下:

http://community.csdn.net/Expert/topic/5684/5684863.xml?temp=.3418848

其中的子类化过程是这样:

Public Function SubWndProc(ByVal Hwnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case MSG
Case WM_LBUTTONDBLCLK '吃双击消息
SubWndProc = 1
Exit Function
End Select
SubWndProc = CallWindowProc(PrevWndProc, Hwnd, MSG, wParam, lParam) '其它消息不管
End Function

你在CASE那里拦截wm_lbuttondown或wm_rbuttondown之类的消息,再返回事件就可以了(封装到一个类里面,方便)

热点排行