去除CHtmlView的滚动条问题

来源:互联网 发布:淘宝卖家版如何下载 编辑:程序博客网 时间:2024/05/18 20:32


网上有很多去针对如何去除CHtmlView滚动条的回答,其中我最看好的是:

实现IDocHostUIHandler接口,并且在GetHostInfo方法中填充pInfo->dwFlags字段,加上DOCHOSTUIFLAG_SCROLL_NO

虽然上面已将说的很明白了,但是当我去实现的时候发现无从下手哇。经过好一番折腾终于找到了点头绪。我现在用的是vs2008,当我查看afxhtml.h中的CHtmlView类中有一个函数:

virtual HRESULT OnGetHostInfo(DOCHOSTUIINFO *pInfo);

发现重载这个函数里面可以实现很多功能,其中就包括去掉滚动条。下面是实现步骤的简单介绍:

在你继承CHtmlView的类中重写OnGetHostInfo函数。

1. 在.h中添加加粗的部分:

class CYourclass: public CHtmlView

{

......

virtual HRESULT OnGetHostInfo(DOCHOSTUIINFO *pInfo);

.....

}

2. 在cpp中添加下面的代码:(加粗的部分改成你自己对应的)

HRESULT CYourclass::OnGetHostInfo(DOCHOSTUIINFO *pInfo)
{
pInfo->dwFlags |= DOCHOSTUIFLAG_SCROLL_NO | DOCHOSTUIFLAG_NO3DBORDER;
return S_OK;
}

3. 运行,测试Ok~~

相关链接:

http://www.csdn.net/develop/Read_Article.asp?Id=8813

http://topic.csdn.net/t/20040317/13/2852974.html

0 0
原创粉丝点击