老问题,新解法:关于去掉WebBrowser的边框和滚动条
2011-08-30 15:54
441 查看
关于去掉WebBrowser的边框和滚动条确实是个老问题了,网上的解决方法也是一坨一坨的,基本上比较一致。方法如下:
1. 写网页的时候,设置body样式,这不是我们讨论的范围。
2.OnDocumentComplete的时候修改body,等于对于方法1的补救,不是我们的讨论范围。
3.HtmlView::Create的时候修改属性。
有时候,貌似三种方法有时不大管用哦,比较正确的方法
4.OnNavigateComplete2的时候,调用ICustomDoc::SetUIHandler实现IDocHostUIHandler2。
5.通过IOleClientSite实现IDocHostUIHandler2
以上两种方法有个缺点,对第一个文档失效,所以一般现about:blank一下。
今天IE控件,同样要解决上述问题。但是。。。
不能用MFC,方法4被禁用了,
另外引入一个界面库,IOleClientSite已经被占用,不想改人家代码,方法5被禁用了。
so,不就是COM组件吗,连接点上。
首先完成这个类
然后完成这个类
最后,创建好IE后,通过连接点设置WebbrowserEventSinker实例关注事件。
注意的是时机:
Invoke中,id=DISPID_NAVIGATECOMPLETE2的时候,设置SetUIHandler
Invoke中,id=DISPID_DOCUMENTCOMPLETE的时候,为第一次blank设置
也可以不用,因为blink给用户看没有意义,或者blank两次就没有边框了。
另:也可以用此方法禁用菜单等。
1. 写网页的时候,设置body样式,这不是我们讨论的范围。
2.OnDocumentComplete的时候修改body,等于对于方法1的补救,不是我们的讨论范围。
3.HtmlView::Create的时候修改属性。
有时候,貌似三种方法有时不大管用哦,比较正确的方法
4.OnNavigateComplete2的时候,调用ICustomDoc::SetUIHandler实现IDocHostUIHandler2。
5.通过IOleClientSite实现IDocHostUIHandler2
以上两种方法有个缺点,对第一个文档失效,所以一般现about:blank一下。
今天IE控件,同样要解决上述问题。但是。。。
不能用MFC,方法4被禁用了,
另外引入一个界面库,IOleClientSite已经被占用,不想改人家代码,方法5被禁用了。
so,不就是COM组件吗,连接点上。
首先完成这个类
class CDocHostUIHandler : public IDocHostUIHandler2, public IOleCommandTarget { //... };
然后完成这个类
class WebbrowserEventSinker : public IDispatch { //... };
最后,创建好IE后,通过连接点设置WebbrowserEventSinker实例关注事件。
注意的是时机:
Invoke中,id=DISPID_NAVIGATECOMPLETE2的时候,设置SetUIHandler
Invoke中,id=DISPID_DOCUMENTCOMPLETE的时候,为第一次blank设置
pBody->put_scroll((BSTR)L"no"); IHTMLStylePtr pStyle; pElement->get_style(&pStyle); pStyle->put_border((BSTR)L"none");
也可以不用,因为blink给用户看没有意义,或者blank两次就没有边框了。
另:也可以用此方法禁用菜单等。
相关文章推荐
- 关于无边框EXE程序窗口嵌入IE浏览器WebBrowser右键属性窗口无法点击响应问题的解决
- 关于HTML中的滚动条/去掉滚动条问题
- 关于HTML中的滚动条/去掉滚动条
- 关于div的滚动条滚动到底部,内容显示不全的问题。(已解决)
- input[type='submit']input[type='button']button等按钮在低版本的IE下面,去掉黑色边框的问题
- 去掉 iframe 边框以及滚动条以及背景透明
- 关于JTextArea的滚动条问题
- 关于IE下滚动条的问题
- 关于滚动条控制问题
- 关于WebBrowser使用问题
- 关于界面滚动条的问题
- 关于背包问题的递归解法
- 关于HTML中的滚动条/去掉滚动条
- 关于JavaSwing背景和Win7下和Xp下边框不一致的问题
- 关于webbrowser控件自动登陆的问题
- 关于table表中样式在火狐中出现边框的问题
- 关于QTableWidget里的滚动条问题
- 关于webbrowser控件自动登陆的问题
- 关于移动端1px边框问题
- 关于webbrowser 跨域等问题