我正在尝试在wxWidgets中创建自定义控件,如下所示:
它包含wxTextCtrl和wxBitmapButton。创建它很容易,但我的目标是创建可扩展的控件,在XP,Vista,Win 7,Win 8,Mac OS X中看起来都一样。
当用户在OS中更改字体大小时,通常本机控件会调整其大小(125%,150%,200%)。 在我的情况下,这样的控件应该增加wxTextCtrl的大小,并在此按钮中增加wxBitmapButton和image的大小。
这就是为什么我的问题是:
如何在wxBitmapButton中创建可伸缩的图像? (也许我应该使用像.svg这样的矢量图像?)
如何识别我应该在wxBitmapButton中增加图像大小?
我不打算使用原生控件,因为我希望它们在所有操作系统中看起来都一样
答案 0 :(得分:0)
目前没有可移植的方法来响应wxWidgets中的系统字体大小更改,因此您可以做的最好是尊重程序启动期间生效的字体大小。为此,只需使用GetTextExtent()
或GetChar{Height,Width}()
的{{1}}或wxWindow
方法,而不是对程序中的像素值进行硬编码即可。