MFC对话框Static控件有视频播放时,鼠标单击Static区域无响应问题
在做一个VLClib的多路视频播放器客户端,基于对话框的界面,上面放置了一系列StaticText控件,播放时将这个控件的句柄传递给VLClib的库函数,视频能正常显示播...
在做一个VLClib的多路视频播放器客户端,基于对话框的界面,上面放置了一系列StaticText控件,播放时将这个控件的句柄传递给VLClib的库函数,视频能正常显示播放,因为是多路的,所以希望单击某个StaticText控件,可以将全局的参数变更为该控件对应的播放参数(如播放句柄,数组下标等)。
为此,我采用了两种方法尝试,一个是添加StaticText的单击响应函数,在未播放视频时,单击各个StaticText控件,都会执行函数,进行参数的切换,但是一旦视频开始播放后,单击该控件,则无响应;
另一种方法是添加窗体的PreTranslateMessage函数,对于鼠标单击事件,将其坐标位置与StaticText的控件范围进行比较,若在范围内,触发同上的程序操作,这个也是在无视频播放时,正常,有视频播放后,单击也是无响应了。
准确的说,不是有视频时单击完全不响应,而是,在单击画面与控件的边缘时,可能会触发函数,如下图
我想,是不是因为视频播放时,视频所在的层覆盖了窗口及控件,所以,虽然我单击在控件范围内,也无法触发响应的程序? 我又该如何解决这个问题?
期待解答,谢谢。 展开
为此,我采用了两种方法尝试,一个是添加StaticText的单击响应函数,在未播放视频时,单击各个StaticText控件,都会执行函数,进行参数的切换,但是一旦视频开始播放后,单击该控件,则无响应;
另一种方法是添加窗体的PreTranslateMessage函数,对于鼠标单击事件,将其坐标位置与StaticText的控件范围进行比较,若在范围内,触发同上的程序操作,这个也是在无视频播放时,正常,有视频播放后,单击也是无响应了。
准确的说,不是有视频时单击完全不响应,而是,在单击画面与控件的边缘时,可能会触发函数,如下图
我想,是不是因为视频播放时,视频所在的层覆盖了窗口及控件,所以,虽然我单击在控件范围内,也无法触发响应的程序? 我又该如何解决这个问题?
期待解答,谢谢。 展开
展开全部
这个,可以绕一个路,你可以在static上面放一个透明等大的按钮,然后由这个按钮去执行你说的任务。。。注意将按钮上到最上层。
更多追问追答
追问
我也在想这种思路,那请问一下,MFC中如何设置控件的层次?我用的是VC6,能不能实现?谢谢。
追答
可以用函数,你可以在资源对话框那直接对按钮进行操作,你看一下这个http://bbs.csdn.net/topics/100167334;函数应该是setwindowpos,大小写,你自己搞定。
在资源对话框那设置是: 用拉上去放好,再ctrl+d,顺序设好,小的就是在最上面的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询