wxWidgets获取显示wxString(单行)所需的像素数 - wxDC :: GetTextExtent不是唯一的方法

时间:2014-07-16 16:20:59

标签: c++ wxpython wxwidgets

我需要获得字符串所需的空间(自定义小部件的东西 - 如此合法使用!),在任何绘制调用之前需要它,所以我还没有得到一个油漆DC(还)来调用{{3

现在我认为所需的空间是字体的函数,而不是DC的函数,但我还没找到方法。

我确实找到了一些wxPython答案(这不是一件坏事,两者之间很容易切换!)但是它们涉及获取DC然后在其上调用GetTextExtent。

必须有一种有效的方式!

(我正在使用wxWidgets 2.8)

另一个"回答"

http://docs.wxwidgets.org/trunk/classwx_d_c.html#ae55cbf1bc7b7e836cb192eb48d31efab

它还会创建一个DC

另一个,http://forums.wxwidgets.org/viewtopic.php?t=17143&p=74448

那个创建一个wxDC,我不能这样做,因为它是一个抽象的基类(理所当然地是这样)

1 个答案:

答案 0 :(得分:2)

如果您只需要进行测量,您可以随时创建wxClientDCGetTextExtent()是衡量单个字符串的最有效方法。对于多个字符串,GetPartialTextExtents()可能更有用。