去除CHtmlView的滚动条问题


网上有很多去针对如何去除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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值