我需要在矩形内绘制文本。但是当文本很长时,它会剪掉多余的文本。我需要将文本换行,以便不适合第一行的额外文本部分应该转到下一行。
我用谷歌搜索了一下,有人建议使用带有 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_EDIT控制 | DT_WORDBREAK。
一个建议:
不要使用 UNICODE 或 ANSI 特定的函数名称。
根据您的项目设置,编译器将选择正确的版本。这样您的应用程序就可以移植。
我是一名优秀的程序员,十分优秀!