HTML 字体大小在嵌入式浏览器 (MFC) 中不可预测地变化
HTML font size changing unpredictably in embedded browser (MFC)
我的C++/MFC对话框中有一个嵌入式浏览器控件。它显示一个包含一些转换的 HTML 页面。
一切都很好,转换工作等等。
然而!由于我无法理解的原因,每两周左右一次,字体方面就会发生一些事情。有时它太大,有时太小。我去更改HTML的CSS部分以使字体大小更大,它可以工作几周,然后突然变得太大,我不得不再次将数字更改回去。我对IE缩放级别等所做的任何事情似乎都没有影响我的MFC应用程序中的字体大小。
我模糊地怀疑它与网络连接/断开连接有关,但无法重现该问题。
为什么会发生这种情况,我怎样才能防止这种情况发生?
视窗 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>
您可以尝试在IE10中重置css或启用兼容模式。
好的,找到了一个解决方案。
我可以截获CDhtmlDialog的OnDocumentComplete方法,并确保缩放级别始终设置为某个固定值。然后调整CSS以适合该缩放级别,它不会再次跳来跳去
void CMyDialog::OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR szUrl)
{
CComVariant zoomLevel;
zoomLevel = 100;
m_pBrowserApp->ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DODEFAULT, &zoomLevel, NULL);
}
相关文章:
- 不可预测的C++睡眠/等待行为
- 超过 N 时出现不可预测的位移结果
- DirectShow CSourceStream::FillBuffer 暂停和查找后对第一帧的不可预测的调用数
- 多线程文件 IO 程序在线程数增加时行为不可预测
- 使用 std::find 查找从二进制文件中读取的字符并转换为 std::vector 中的 std::string<string> 会产生这种不可预测的行为?
- std::sleep_for在Windows 10上的不可预测行为
- 不可预测的文件描述符泄漏
- 循环程序的行为是不可预测的
- C++中不可预测的输出
- 当来自外部库的线程不可预测地崩溃我的应用程序时,我该怎么办
- 不可预测的伪RNG
- C++ 自定义运算符(+=) 的行为方式不可预测
- 如何优化间接基数排序?(又名如何优化不可预测的内存访问模式)
- 修复不可预测的崩溃
- 不可预测的指针行为
- wxWidgets 不可预测的 Seg 故障
- 当 cin.getline() 的第二个参数大于数组长度时,不可预测的字符串长度
- 子表达式求值顺序的不可预测性
- 将QString转换为const-char*时的不可预测的运行时行为
- HTML 字体大小在嵌入式浏览器 (MFC) 中不可预测地变化