如何在视频窗口上响应消息

清海风缘 2009-07-23 06:33:38
大家好,我们知道在在VC++窗口上(比如对话框窗口上吧)设置相应的消息响应函数,点击鼠标可以响应消息。但是,如果是一个视频窗口(比如微软的AMCap,在Preview的时候),当窗口上播放动态视频的时候,怎么设置来响应鼠标的消息,甚至可以在视频窗口上画图等。
我自己用用一般的对话框添加消息响应函数的方法,没有成功,以我的AMCap程序为例,当打开窗口,不进行预览(preview)时,在窗口上点击鼠标有响应,但是一旦开始视频预览,就不行了。
请问,如何解决!
...全文
191 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
清海风缘 2009-07-27
  • 打赏
  • 举报
回复
这个问题,我已经解决了,要在DirectShow的视频窗口上接受鼠标消息,就必须设置IVideoWindow::put_MessageDrain方法,原型如下HRESULT put_MessageDrain(
OAHWND Drain
);
参数Drain为接受消息的窗口句柄。
另外,我还打算当光标移动到视频窗口时,光标可以发生变化,如果按一般方法,会失败,同样,也是要先设置IVideoWindow::put_MessageDrain,然后分别在WM_MOUSEMOVE\WM_LBUTTONDOWN\WM_LBUTTONUP等中设置想要的光标 (比如手形的) ::SetCursor(hInstanse, MAKEINTRESOURCE(IDC_CURSOR_HAND)就可以了。
大前置 2009-07-23
  • 打赏
  • 举报
回复

看情况了

如果是在指定窗口上投映,winprc就可以接收到点击控件的消息

如果是视频控件,要在控件类上设置、映射消息

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧