【发布时间】:2018-08-12 17:53:30
【问题描述】:
我知道如何为CHtmlView 设置缩放系数:
HRESULT CChristianLifeMinistryHtmlView::SetZoomFactor(long iZoom, bool bRefreshBrowser /*true*/)
{
HRESULT hr = S_OK;
VARIANT vZoom;
m_lZoomFactor = iZoom;
if (bRefreshBrowser)
{
vZoom.vt = VT_I4;
vZoom.lVal = iZoom;
hr = ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, &vZoom, nullptr);
}
return hr;
}
HRESULT CChristianLifeMinistryHtmlView::ExecWB(OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
{
HRESULT hr;
ASSERT(m_pBrowserApp != NULL);
hr = m_pBrowserApp->ExecWB(cmdID, cmdexecopt, pvaIn, pvaOut);
return hr;
}
我刚刚在包含此视图的主编辑器中引入了 CStatusBar,我的一位用户表示他们使用 CTRL + Wheel 来更改缩放因素。
我的菜单结构带有用户可以用来更改缩放的相关热键,因此我的状态栏窗格更新为他们选择的正确值。
但是当他们使用 CTRL + Wheel 更改缩放时,我的应用程序没有检测到这一点。所以他们放大或缩小到一个比例,我的状态栏窗格保持在原来的缩放系数。
使用 MFC 和 CHtmlView 网络浏览器控件,我如何检测他们何时使用 CTRL + Wheel 更改了缩放,以便我可以更新我的状态窗格?
【问题讨论】:
标签: mfc webbrowser-control zooming mousewheel