读书人

怎么让CDHtmlDialog被点击后也不获得焦

发布时间: 2012-03-24 14:00:46 作者: rapoo

如何让CDHtmlDialog被点击后也不获得焦点
程序中有一个主窗口,还有一个小窗口是继承自CDHtmlDialog的,这个窗口只是一个用来显示一些消息的窗口,窗口上有文本,滚动条,文本中也有超链接。
我需要将焦点一直设置到主窗口上,这个继承自CDHtmlDialog的窗口即使被鼠标点击也不获得焦点,但是可以响应滚动条和点击超链的消息,办得到么?有什么方法么?还请各位达人解答

[解决办法]
不大可能,不获得焦点怎么响应消息...

除非你把 这个继承自CDHtmlDialog的窗口 disable,
然后在主窗口中处理这个区域的鼠标消息,
如果点击鼠标的位置在对应 CDHtmlDialog 上的<a> 元素上,就通过IHTMLxxxx接口操作,模拟点击...
[解决办法]
滚动条消息比较好办,只要截获相关的消息就可以了.

问题是点击链接. 话说鼠标移动不会有focus问题.

所以我是这样想的:
向那个WebBrowser窗口添加js脚本,记录 mousemove 消息 , 然后写一个 external 函数, 获得event.srcElement.
然后就能模拟点击了 .
[解决办法]
处理点击消息,在点击的响应里把焦点移回去

读书人网 >VC/MFC

热点推荐