在 MFC 中获取文本宽度

2022-01-12 00:00:00 visual-c++ c++ mfc

我想将 CButton 的大小动态调整为其中文本的宽度.是否有在 MFC 中执行此操作的内置方法,或计算某些指定文本的像素宽度的方法(以便我可以使用 CWnd::SetWindowPos)?

I'm wanting to dynamically resize a CButton to the width of the text within it. Is there either a built-in way to do this in MFC, or a way of calculating the pixel width of some specified text (so that I can use CWnd::SetWindowPos)?

推荐答案

你可以使用CDC::GetTextExtent 计算某种字体的文本宽度.使用 CWnd::GetDC 获取设备显示文本的控件的上下文.

You can use CDC::GetTextExtent to calculate the width of text in a certain font. Use CWnd::GetDC to get the Device Context from the control displaying the text.

相关文章