问题来源
在开发mfc应用程序时,有一个需求就是在页面中嵌入网页作为应用程序的界面。但存在的问题就是网页能够被用户缩放,所以就有了限制网页缩放的需求。
解决思路
1.拦截ctrl+鼠标滚轮的消息。
这种方式只需要屏蔽滚轮事件就行了,实现的目的就是要拦截掉ctrl+滚轮事件不让系统处理。实现方法如下:
点击“ctrl+shift+x”打开类向导,在虚函数中点击“PreTranslateMessage”添加处理函数。复制如下代码即可:
if (LOWORD(pMsg->wParam) == MK_CONTROL && pMsg->message == WM_MOUSEWHEEL)
{
//MessageBox("OK");
return true;
}
以上就可以防止ctrl+鼠标滚轮操作对网页的缩放。
2.在计算机组策略中取消IE的缩放功能。
1中的方法解决了非触摸的pc上的浏览器的缩放问题,但是在触摸的平板电脑中还是能够通过多点触控多网页进行缩放。这个问题就不属于mfc程序的范畴了,需要对计算机组策略进行设置。
点击组合键win+r之后输入cmd打开命令行窗口,输入gpedit.msc打开组策略设置窗口。
按照下图的配置即可达到我们要的目标
从上图中我们可以看到IE的很多配置也是在这里设置的。