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

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

2012-03-24 
如何让CDHtmlDialog被点击后也不获得焦点程序中有一个主窗口,还有一个小窗口是继承自CDHtmlDialog的,这个

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

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

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

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

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

热点排行