检测 MFC 控件是不是没有足够的宽度来容纳文本(并且文本将被截断)

Posted

技术标签:

【中文标题】检测 MFC 控件是不是没有足够的宽度来容纳文本(并且文本将被截断)【英文标题】:Detect if MFC control has insufficient width to hold text (and text will be truncated)检测 MFC 控件是否没有足够的宽度来容纳文本(并且文本将被截断) 【发布时间】:2013-10-23 10:24:32 【问题描述】:

MFC 没有布局,因此控件的大小和位置必须固定。

在本地化新语言时,我直接编辑 .rc 文件,但如果新语言的文本长度超过控件允许的宽度,则会被截断。

这需要我手动检查每个控件是否有足够的宽度,既费时又容易出错。

现在我正在考虑添加一些代码来枚举所有控件,获取它们的文本,看看它的宽度是多少,并将其与控件的宽度进行比较。

有没有更好的办法?

【问题讨论】:

MFC 开发人员在这里。 有没有更好的方法? 不要使用 MFC。 不过,这是我的日常工作。在家里我可以使用任何我想要的东西,但在这里我使用这个。既然你是 MFC 开发者,你就会明白 :) 【参考方案1】:

实际上,您可以使用以下布局示例来处理此问题, Layout Manager for Dialogs, Formviews, DialogBars and PropertyPages.检查最大文本的大小并根据控件重新排列控件。希望它会起作用。

【讨论】:

与手动检查所有内容相比,为我的对话框重写代码需要更多时间。但很高兴知道它,同样感谢。很好的答案。

以上是关于检测 MFC 控件是不是没有足够的宽度来容纳文本(并且文本将被截断)的主要内容,如果未能解决你的问题,请参考以下文章

在 MFC 应用程序中显示文本

MFC如何知道光标在那个控件上 用哪个函数?谢谢

如果我在 MFC 中有粗体文本,如何计算宽度

Bootstrap文本域textarea怎么设置?

MFC 中的粗体标签

MFC 在编辑控件框中显示多行文本