我的C ++ / MFC对话框中有一个嵌入式浏览器控件。它显示一个带有一些变换的HTML页面。
一切都很好,转换起作用了。
然而! 由于我无法理解的原因,每两周左右,字体方面会发生一些事情。有时它太大,有时太小。 我去改变HTML的CSS部分以使字体更大,它可以工作几周,然后突然变得太大了,我不得不再次更改数字。我对IE缩放级别等所做的任何事情似乎都对我的MFC应用程序内的字体大小有影响。
我有一种模糊的怀疑,认为它与网络连接/断开有关,但无法重现问题。
为什么会发生这种情况,我该如何防止这种情况发生?
Windows 10,IE 10。
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
.box {
display: inline-block;
border-spacing: 0;
border-collapse: collapse;
padding: 0;
width: 0px;
height: 380px;
transform: rotate(90deg) translate(0%, 0%);
font-family: Arial;
font-size: 37px; /* <-- need to keep changing this */
}
.line1 {
color: white;
width: 1000px;
text-align: center;
transform: translate(-35%, 0);
display: inline-block;
}
</style>
</head>
<body id=CHtmlMirror bgcolor=black>
<div class="box">
<div class="line1">My Text</div>
</div>
</body>
</html>
答案 0 :(得分:0)
您可以尝试重置css或enable compatibility mode in IE10。
答案 1 :(得分:0)
好的,找到了解决方案。
我可以拦截CDhtmlDialog的OnDocumentComplete方法,并确保缩放级别始终设置为某个固定值。然后调整CSS以适应该缩放级别,并且它不会再次跳转
void CMyDialog::OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR szUrl)
{
CComVariant zoomLevel;
zoomLevel = 100;
m_pBrowserApp->ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DODEFAULT, &zoomLevel, NULL);
}