网上有很多去针对如何去除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://hi.baidu.com/mixsedgssubblrq/item/7dbbf3f22cb81e54c9f337fd