【问题标题】:How to make my drawing in a frame depends in the window resolution in wxwidgets C++如何在框架中绘制取决于 wxwidgets C++ 中的窗口分辨率
【发布时间】:2017-12-30 04:20:31
【问题描述】:

[在此处输入图像描述][1]最近我想开发一个电子 GUI,它是一种超级平台,但我仍然对窗口分辨率有一些问题。当窗口变大时,我的绘图保持在相同的坐标中,有人可以帮我解决这个问题。 谢谢。

【问题讨论】:

  • 您的图片似乎没有正确包含在内。您可以尝试重新添加它,以便我们查看您遇到的问题吗?
  • 您有什么方法可以检索分辨率吗?如果是这样,您可以计算适当的缩放比例

标签: c++ visual-studio wxwidgets


【解决方案1】:

处理不同的屏幕分辨率在 wxWidgets 中处理得很好(但仍然不完美)。

对于您自己使用wxDC 方法完成的绘图,只需设置正确的原点和比例即可。

一些有用的类:wxDisplaywxDisplaySizeMM 和 wxWindow 方法如FromDPI

处理不同的屏幕分辨率意味着不同的文本字体大小,这意味着不同的控件大小。 wxWidgets 使用默认的操作系统原生大小。所以第一条规则是不要使用硬编码的像素值,首选dialog unitssizers

另外,在 Windows 上,您需要一个带有 DPI handling 特殊命令的 ma​​nifest。清单可能包含类似的命令

<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
     <dpiAware>true/pm</dpiAware>
</asmv3:windowsSettings>

自动位图大小是 wxWidgets 还不完善的部分。无论如何,通过上述功能,您可以自行判断所需的大小并调整(或使用不同的图像)位图的大小。

【讨论】:

  • 感谢 Ripi2 的回答,但我如何设置正确的原点,例如,如果我要在 wxwidgets.如果你给我一个例子,那就太好了。
  • 在您的 wxWidgets 目录中,您可以找到“samples/display”和“samples/drawing”。特别是在“绘图”示例中查找 OriginScale 子词。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 2020-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多