老问题了,CHtmlView如何去除边框,通过VC6治本的方法解决

DrSmart 2011-09-10 07:09:31
老问题了,CHtmlView如何去除边框,通过VC6治本的方法解决,从HTML上解决不够通用,能有例子更好。搜索引擎都试了,没搞定,嗨
...全文
216 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
supercllc 2011-10-08
  • 打赏
  • 举报
回复
http://blog.csdn.net/cometnet/article/details/6284994

这文章里有个写好的头文件,直接用,好用
yjgx007 2011-09-16
  • 打赏
  • 举报
回复
不要用CHTMLView, 直接创建IWebBrowser2控件(可用AxWindow宿主创建方法 - CreateControl), 然后,再用#3楼办法.
DrSmart 2011-09-16
  • 打赏
  • 举报
回复
还有人知道吗?
DrSmart 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 crybird 的回复:]

使用连接点监控IE控件的事件
[/Quote]

有个工程例子吗,看你说的挺抽象的
skyxie 2011-09-13
  • 打赏
  • 举报
回复
边框还是滚动条?
滚动条没有什么好办法,只有通过js设置scroll的style。当然,也可以通过MSHTML的接口进行操作。但本质上是一样的,都是设置style
  • 打赏
  • 举报
回复
使用连接点监控IE控件的事件
  • 打赏
  • 举报
回复
老问题,新解法:关于去掉WebBrowser的边框和滚动条

http://blog.csdn.net/crybird/article/details/6732661
oyljerry 2011-09-13
  • 打赏
  • 举报
回复
干脆直接用Web Kit等其他浏览器内核库吧.
redui 2011-09-13
  • 打赏
  • 举报
回复
这个问题还真的很难缠。

MSDN解释得很清楚了,要去除浏览器边框,你的宿主应用应该实现IDocHostUIHandler接口,并在GetHostInfo方法里对第一个参数设置标志位,
*pdwFlags = DOCHOSTUIFLAG_NO3DBORDER | DOCHOSTUIFLAG_NO3DOUTERBORDER;
当然还可以加上其它你需要的标志,这个标志就是去除边框的。

上面这个很好理解,但最纠结的问题就是,你实现的IDocHostUIHandler接口怎么被浏览器控件调用到。
1、如果你用的是ATL的AxWindow创建的浏览器控件,是最简单的方案,直接调用它的 SetExternalUIHandler就搞定了。通常MFC也会用到ATL的这个工具类,至少我在 CDHtmlDialog 中是见到的,CHtmlView 还不知道,VC6 更不知道是不是用到了这个类,所以不敢保证,最好去看看它们的源码。

2、如果没有AxWindow,难度就大了一点。如果你选择自己实现容器接口,难度在于容器接口的很多内容需要学习,但相对来说楼主的问题还算比较容易解决,只需在实现 IOleClientSite 的同时也实现 IDocHostUIHandler 就可以了。

3、如果不选择自己实现容器,而是借用某个非ATL的第三方容器实现,难度就更大了,因为你不能直接在 SITE 上实现 UIHANDLER(直接修改第三方代码也是个办法,但不建议这样做),你可以越级打小报告,直接从IHTMLDocument接口查询 ICustomDoc 接口,然后调用它的 SetUIHandler 方法,实现效果相同。问题在于,浏览器控件是用来导航的,你不可能永远只打开一个HTML页面,只要打开新页面,文档对象就变了,以前的设置全失效(还有内存泄露风险),你得重新获取并调用 ICustomDoc::SetUIHandler,当然你必须捕获 DocumentComplete 事件来干这事,这个烦啊……

4、还有最后一个解决办法,我不敢肯定是否一定生效,而且手续复杂,那就是实现一个纯粹的 IDispatch(所谓纯粹,就是只有Invoke调用,不会被转换成成员函数),用来提供环境参数,每个ActiveX控件都有环境参数,但不同控件的要求不同,你可以从这里提供DocHostFlags参数,不知道浏览器要不要啊,没试过。至于怎么提供环境参数,哎,几句话说不清楚啊,真的手续复杂,还是先上网找找再说吧……
DrSmart 2011-09-10
  • 打赏
  • 举报
回复
补充下是CDialog的对话框,在VC6下

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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