社区
HTML/XML
帖子详情
老问题了,CHtmlView如何去除边框,通过VC6治本的方法解决
DrSmart
2011-09-10 07:09:31
老问题了,CHtmlView如何去除边框,通过VC6治本的方法解决,从HTML上解决不够通用,能有例子更好。搜索引擎都试了,没搞定,嗨
...全文
225
10
打赏
收藏
老问题了,CHtmlView如何去除边框,通过VC6治本的方法解决
老问题了,CHtmlView如何去除边框,通过VC6治本的方法解决,从HTML上解决不够通用,能有例子更好。搜索引擎都试了,没搞定,嗨
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
超级管理员9527
2011-09-13
打赏
举报
回复
使用连接点监控IE控件的事件
超级管理员9527
2011-09-13
打赏
举报
回复
老问题,新解法:关于去掉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下
VC6
中使用C
Html
View
在对话框控制中显示
HTML
文件
在Visual Studio 6.0中出现了一个新类C
Html
View
,利用这个类,我们可以实现在对话框的控制中显示
HTML
文件。 要想使用C
Html
View
类,对它的定义和实现就必须有全面深入的理解。我们不妨拿C
Html
View
和CList
View
做一个比较,通过比较这两个类,我们会发现一些有趣的差别。首先,MFC中CList
View
有一个对应的CListCtrl类,而C
Html
View
却没有一个C
Html
Ctrl类与之对应;其次,CList
View
的使用依赖于MFC的文档/视结构,而C
Html
View
的实现是基于COM的。通过IWebBrowser2接口来实现,而且IWebBrowser2与MFC文档/视图结构之间没有任何关系。
VC用C
HTML
VIEW
循环打开一个网页
循环打开一个网页循环打开一个网页循环打开一个网页
源码,基于C
Html
View
类编写的vc浏览器带有收藏夹
基于C
Html
View
类编写的浏览器,带有收藏夹。
VC6
,for Winxp 编译通过。 学习vc网络编程的好实例。
VC 中 对话框使用 C
Html
View
vc/MFC 中 对话框CDialog中 使用 C
html
View
简单例子
C
Html
View
ProjV2.zip_C
HTML
view
_CreateControlSite_VC 浏览器_
html
view
VC实现的一个简单浏览器,可以进行新功能的扩充,目前以实现基本的浏览功能。
HTML/XML
3,055
社区成员
8,075
社区内容
发帖
与我相关
我的任务
HTML/XML
VC/MFC HTML/XML
复制链接
扫一扫
分享
社区描述
VC/MFC HTML/XML
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章