0

我正在尝试在 wxWidgets 中创建如下所示的自定义控件:

自定义控件

它包含 wxTextCtrl 和 wxBitmapButton。创建它相当容易,但我的目标是创建在 XP、Vista、Win 7、Win 8、Mac OS X 中看起来相同的可扩展控件。

通常,当用户在操作系统中更改字体大小(125%、150%、200%)时,本机控件会调整其大小。在我的情况下,这样的控件应该增加 wxTextCtrl 的大小并增加 wxBitmapButton 的大小和这个按钮中的图像。

这就是为什么我的问题是:

  1. 如何在 wxBitmapButton 中创建可缩放的图像?(也许我应该使用像 .svg 这样的矢量图像?)

  2. 如何识别我应该增加 wxBitmapButton 中的图像大小?

我不会使用本机控件,因为我希望它们在所有操作系统中看起来都一样

4

1 回答 1

0

目前没有可移植的方式来对 wxWidgets 中的系统字体大小变化做出反应,因此您能做的最好的事情就是在程序启动期间遵守有效的字体大小。为此,只需使用GetTextExtent()GetChar{Height,Width}()方法中的任何一个wxWindowwxDC代替硬编码程序中的像素值就足够了。

于 2013-07-04T21:56:14.733 回答