有关TextOut的问题 请问大家用TextOut()函数时,怎么让其在输出一定量的字符后能进行换行?谢谢!!!!!!!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int x = 0;int y = 0;int i = 0;CString csTemp = _T("");for(i=0; i<20; i++){csTemp.Format(_T("Line%d"), i+1);Textout(x, y, csTemp);y += 20;} 用DrawText有一个参数DT_WORDBREAK,给一个矩形区域就会自动换行的。 用DrawText函数好像要按回车才会换行吧?能不能控制一行多少字符,而让其自动换行。比如一行控制为30个字符,当一行输完30个字符后,其会自动换行,而不需要按回车键? 不要用TextOut,换DrawText,它可以指定一个显示字串的矩形,还可以多行显示。 给出一个矩形DrawText会自动判断超出区域就会换行的,这个比较容易。 用drawtext;RECT MultiLineDisplay( HDC hdc , RECT rect , LPWSTR lp ){ //rect 获得的是窗口的大小 int nLength = lstrlen( lp ); RECT rc ={0}; for( int i = 0 ; i < nLength ; i++ ) { DrawText( hdc , lp + i , 1 , &rc , DT_CALCRECT); if( rc.right > rect.right ) { rc.top = rc.bottom ; rc.bottom = 2*rc.bottom; rc.left = 0; rc.right = rc.right -rect.right; } DrawText( hdc , lp +i , 1, &rc , DT_LEFT ); rc.left = rc.right; } return rc;} 嵌在WEB里面的ActiveX如何传结构型参数? windows中picture组件问题 windows核心编程 CAsyncSocket 服务端Close问题 怎样将对话框以及其对应的类完整的从工程中删除 关于CString的奇怪问题 如何将剪贴板中的图像,保存成图像文件?? VC6中使用正则是怎么做的 急盼回音 请教怎样辨别是wav还是mp3文件? 如何取Oracle中number类型中的浮点数 差一点就把7家疯狂给推了 闷了
int y = 0;
int i = 0;CString csTemp = _T("");
for(i=0; i<20; i++)
{
csTemp.Format(_T("Line%d"), i+1);
Textout(x, y, csTemp);
y += 20;
}
比如一行控制为30个字符,当一行输完30个字符后,其会自动换行,而不需要按回车键?
RECT MultiLineDisplay( HDC hdc , RECT rect , LPWSTR lp )
{ //rect 获得的是窗口的大小
int nLength = lstrlen( lp );
RECT rc ={0};
for( int i = 0 ; i < nLength ; i++ )
{
DrawText( hdc , lp + i , 1 , &rc , DT_CALCRECT);
if( rc.right > rect.right )
{
rc.top = rc.bottom ;
rc.bottom = 2*rc.bottom;
rc.left = 0;
rc.right = rc.right -rect.right;
}
DrawText( hdc , lp +i , 1, &rc , DT_LEFT );
rc.left = rc.right;
}
return rc;
}