wxWidgets получает количество пикселей, необходимое для отображения wxString (одна строка) — wxDC :: GetTextExtent не может быть единственным способом

Мне нужно получить пространство, необходимое для строки (пользовательские элементы виджета — так что законное использование!), Это нужно перед любыми вызовами отрисовки, чтобы у меня не было DC для рисования (пока) для вызова http://docs.wxwidgets.org/trunk/classwx_d_c.html#ae55cbf1bc7b7e836cb192eb48d31efab на

Теперь я бы подумал, что требуемое пространство будет функцией шрифта, а не DC, но я пока не нашел пути.

Я нашел несколько ответов на wxPython (что не так уж и плохо, между ними легко переключаться!), Но они включали получение DC, а затем вызов GetTextExtent для него.

Должен быть эффективный способ!

(Я использую wxWidgets 2.8)

Еще один «ответ»

http://forums.wxwidgets.org/viewtopic.php?t=17143&р = 74448

Это также создает DC

Другая, Правильный способ найти размер текста в wxPython

Тот создает wxDC, я не могу этого сделать, так как это абстрактный базовый класс (по праву так, конечно)

2

Решение

Вы можете создать wxClientDC в любой момент, если вам это нужно только для измерения. А также GetTextExtent() это самый эффективный способ измерения одной строки. Для нескольких строк GetPartialTextExtents() может быть более полезным.

2

Другие решения


По вопросам рекламы [email protected]