我需要在 MFC 应用程序中显示文本。我有一个示例文本,例如“在 mfc 应用程序中显示文本”。假设我打算在其中绘制此文本的客户端窗口非常小(水平),以至于一行中唯一可以容纳的文本是“显示文本”。不显示“mfc 应用程序”字样。我的问题是,如何确保这些单词显示在下一行,而不是仅仅被剪掉?我正在使用 drawtext 函数来显示文本。
谢谢。
默认情况下,DrawText API 的行为完全符合您的需要,除非指定了 DT_SINGLELINE 格式。只需提供正确的 lpRect 参数。
http://msdn.microsoft.com/en-us/library/windows/desktop/dd162498%28v=vs.85%29.aspx
MFC CDC::DrawText 方法具有相同的行为。
使用 GetClientRect 函数获取一个窗口矩形,并将这个矩形传递给 DrawText 方法。
我也遇到了你报告的问题。并按照我在https://stackoverflow.com/a/29241196/383779中的解释解决了它
您首先需要DrawText
使用DT_CALCRECT
标志调用以了解要传递给DrawText
真正起作用的矩形。
这很奇怪,但是……就是这样。MFC……你知道的。