I need to display text in an MFC application. I have a sample text like "Display text in mfc application". Let's assume the client window in which I intend to draw this text is so small(horizontally) that in one line the only text that can fit is "Display text in". The words "mfc application" are not displayed. My question is, how do I ensure that these words are displayed in the next line, instead of just being clipped off?I'm using the drawtext function to display the text.
Thanks.
I had also the problem you reported. And solved it as I explained in https://stackoverflow.com/a/29241196/383779
You need first a call to
DrawText
with theDT_CALCRECT
flag to know what rectangle to pass to theDrawText
that really makes the work.It is strange but ... it is the way it is. MFC ... you know.
By default, DrawText API behaves exactly as you need, unless the DT_SINGLELINE format is specified. Just provide correct lpRect parameter.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd162498%28v=vs.85%29.aspx
MFC CDC::DrawText method has the same behavior.
Use GetClientRect function to get a window rectangle, and pass this rectangle to DrawText method.