首页 > 解决方案 > 与 UltraHD 兼容的 CHtmlView

问题描述

CHtmlView与 UltraHD 分辨率不兼容。不仅仅是使用正确的 HTML/CSS 来感知 UltraHD。打印预览机制失败并裁剪页面。许多个月前,Microsoft 承认这是一个问题,但尚未解决。

我的应用程序大量使用一个CHtmlView元素来显示时间表和打印。虽然我的应用程序是基于 Windows (Win32/x64) 的,但我越来越多的用户使用在其中运行 Windows 的 Mac 计算机,并且他们都默认使用 UltraHD。结果,我的应用程序无法正常运行,用户必须降低分辨率并将文本缩放调整回 100%。

有没有其他人在使用带有CHtmlView打印预览的 UltraHD 时遇到过这个问题并让它工作?

相关问题在这里:

如何在 CHtmlView 中使这个 HTML / CSS 文件 UltraHD / 4k 友好?

但我很久以前就问过这个问题,但一无所获,所以我再试一次。

谢谢你。

更新

我向用户提供了这个 XSL 脚本,以便在我的程序中尝试使用超高清分辨率:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
  <xsl:output method="html" indent="yes" version="4.01"
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
  <xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
      </head>
      <body>
        <div style="width:100%; height:100%; border: thick solid #00FF00;">This is a test
        </div>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

所以它使用<meta http-equiv="X-UA-Compatible" content="IE=edge" />代码并且没有任何区别。当他进行打印预览时:

预习

所以问题依然存在。这似乎与控件的打印预览机制有关CHtmlView

更新

这是指向此问题的 Microsoft 链接:

https://developercommunity.visualstudio.com/content/problem/215368/chtmlview-and-printing-on-ultrahd-computers.html

仍然没有解决。

标签: mfcwebbrowser-control

解决方案


推荐阅读