Text box (auto) size for proportional fonts
3 次查看(过去 30 天)
显示 更早的评论
Hi,
I'm developing a GUI with plots that need annotations. I've been using the Static Text uicontrol and specifying its size and position like this:
position = [xpos ypos width height];
set(box_handle,'String',annotate_string);
set(box_handle,'Position',position);
set(box_handle,'Visible','on');
This places the text correctly, but since the font is proportional, sometimes my sizing heuristic (# chars * 1.3) fails.
If the box were to auto-size I'd be home free, but I see no way to do that. The only other alternative is to compute the width from a font table containing widths of all letters. But that's reinventing the wheel, and badly, since the information must be in Matlab already...
Thanks,
Charles
0 个评论
采纳的回答
Walter Roberson
2011-6-13
After you set() the String as desired, get() the Extent property: the third element of that tells you the width that would be required to display the entire string. You can adjust your Position based upon that.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!