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