我需要在矩形内绘制文本。但是,当文本较长时,它会剪切掉多余的文本。我需要对文本进行换行,以便多余的文本不适合第一行的内容应转到下一行。
我有谷歌,有人建议使用带DT_CALCRECT标志的DrawTextEx()而不是DrawText()。但是仍然不起作用,当我使用此标志时我没有收到文本。
DRAWTEXTPARAMS lpDTParams;
lpDTParams.cbSize = sizeof(lpDTParams);
lpDTParams.iLeftMargin = 1;
lpDTParams.iRightMargin = 1;
lpDTParams.iTabLength = 4;
lpDTParams.uiLengthDrawn = 0;
pDC->DrawTextExA(sTemp, rc, DT_NOCLIP|DT_CENTER|DT_WORDBREAK|DT_CALCRECT, &lpDTParams);
任何建议将不胜感激。
谢谢
最佳答案
您不需要计算矩形。
使用以下标志:DT_LEFT | DT_EDITCONTROL | DT_WORDBREAK。
一条建议:
不要使用UNICODE或ANSI特定的函数名称。
根据项目设置,编译器将选择正确的版本。这样,您的应用程序是可移植的。