菜单被裁剪

时间:2017-12-04 21:12:09

标签: menu mfc

我有一个MFC项目。它支持40多种语言。

在我的电脑上,我有两台显示器。它们都是不同尺寸的显示器和不同的分辨率。

如果我将应用程序移动到较小的显示器上,则不会显示完整的语言菜单。我明白它会显示滚动条。为什么不呢?

我的菜单是标准菜单。没什么好看的。

我的主显示器具有更高的分辨率,我可以看到完整的菜单。

请告知。

感谢。 Menu

1 个答案:

答案 0 :(得分:3)

有不同的方法来设置DPI意识。这取决于你如何设置这个值。

点击"Project Properties" - > "Manifest Tools" - > "DPI Awareness"

在您的案例中可能会说"High DPI Aware",这可以解释问题。将其更改为"Per Monitor High DPI Aware"

enter image description here

<小时/> 或者,您可以在清单文件中设置此值,在dpiAware部分中,在此清单文件中,值应为"True/PM"而不是"True"。清单文件将是名称"myapp.exe.manifest",它应位于资源目​​录中。

<dpiAware>True/PM</dpiAware>

在您的情况下,值可能是"True",这可以解释问题。

<小时/> 或者您可能正在使用SetProcessDpiAwareness。在这种情况下,它应使用值PROCESS_PER_MONITOR_DPI_AWARE

您也可能正在使用SetProcessDPIAware!不推荐使用此功能。

另见
Creating a DPI-Aware Application
High DPI Reference

相关问题