C++ wxWidgets获取显示wxString(单行)所需的像素数-wxDC::GetTextExtent可以';这不是唯一的办法
我需要获得字符串所需的空间(自定义小部件的东西-如此合法的使用!),这是在任何绘制调用之前需要的,所以我还没有一个绘制DC(尚未)来调用 现在我认为所需的空间是字体的函数,而不是DC,但我还没有找到一种方法 我确实找到了一些wxPython的答案(这不是一件坏事,两者之间很容易切换!),但它们涉及到获取一个DC,然后调用GetTextExtent 必须有一个有效的方法 (我正在使用wxWidgets 2.8) 另一个“答案” 它还创建了一个DC 另一个,C++ wxWidgets获取显示wxString(单行)所需的像素数-wxDC::GetTextExtent可以';这不是唯一的办法,c++,wxpython,wxwidgets,C++,Wxpython,Wxwidgets,我需要获得字符串所需的空间(自定义小部件的东西-如此合法的使用!),这是在任何绘制调用之前需要的,所以我还没有一个绘制DC(尚未)来调用 现在我认为所需的空间是字体的函数,而不是DC,但我还没有找到一种方法 我确实找到了一些wxPython的答案(这不是一件坏事,两者之间很容易切换!),但它们涉及到获取一个DC,然后调用GetTextExtent 必须有一个有效的方法 (我正在使用wxWidgets 2.8) 另一个“答案” 它还创建了一个DC 另一个, 创建一个wxDC,我不能这样做,因为它
创建一个wxDC,我不能这样做,因为它是一个抽象基类(当然是ofc)如果您需要它只是为了测量,您可以在任何时候创建一个
wxClientDC
。而GetTextExtent()
是测量单个字符串最有效的方法。对于多个字符串,GetPartialTextExtents()
可能更有用。您绝对需要一个DC来计算,因为DC连接到打印机而不是屏幕时,答案会发生变化。