防止wxWidgets应用在更高dpi

时间:2016-06-26 21:08:24

标签: wxwidgets dpi

我正在编写一个应该在windows和mac上工作的wxWidgets(3.1.0)应用程序。 在Windows上,当我将文本的缩放设置为100%以上时,我的控件的大小全部搞砸了。我有一个dpi清单,说我的应用程序是dpi意识到的。我还在我的对话框上设置了字体像素大小,这在某种程度上起作用。当我从代码中设置某个元素的大小时,它会调整为我需要的像素大小,但是在xrc文件中设置的任何大小都会按比例放大。此外,当我尝试减小任何wxSpinCtrl的大小时,它可以正常减少到某个点,但只有文本框变小,按钮保持不成比例的大。那么有没有办法告诉我的应用程序不要缩放任何大小,只是让所有像素大小与普通dpi完全相同(尽管我的应用程序在更高分辨率下看起来很小)?

1 个答案:

答案 0 :(得分:0)

没有办法阻止使用wxWidgets API应用适当的扩展,我不认为这会改变,因为它似乎没有任何意义。

然而,重建定义了wxHAVE_DPI_INDEPENDENT_PIXELS的wxWidgets应该诱使库认为底层图形工具包已经扩展了像素值,因此阻止它自己完成。我从未测试过这个,但是,AFAICS,这应该会产生你想要的东西。

尽管如此,让我重申一下,你想要的是完全错误的,这个问题的真正解决方法是向那些决定去做的人解释。