⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_19583.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:19583 发表者:jackxu 发表日期:2002-10-29 22:32:46
<br>主题:如何判断两个字节是否是中文呢?
<br>内容:比如说一个字符串是<BR>@12你好吗?<BR>需要在“你“后面插入一个字符”j“,我应该怎么做呢?关键是源字符串是未知的。<BR>多谢!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:flydrgon 回复日期:2002-10-30 09:34:08
<br>内容:你可以看看以前的帖子《如何按圆周方向输出字符串 》,那里能找到答案。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:jackxu 回复日期:2002-10-30 10:43:56
<br>内容:多谢,理解该怎么做了!谢谢!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:徐景周 回复日期:2002-10-30 10:50:48
<br>内容:可参看下面文章第12法:<BR>http://www.copathway.com/itbookreview/view_paper.asp?paper_id=363<BR><BR>如:<BR>//功能:根据新、老矩形,重新计算行数,使文字多行显示,jingzhou xu<BR>&nbsp;&nbsp;&nbsp;&nbsp;//---------------------------------------------------------------------------------------------<BR>&nbsp;&nbsp;&nbsp;&nbsp;//一行中最大字符数<BR>&nbsp;&nbsp;&nbsp;&nbsp;int nMaxLineChar = abs(lpRect-&gt;right - lpRect-&gt;left) / tmpWidth ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//记录当前行的宽度<BR>&nbsp;&nbsp;&nbsp;&nbsp;short theLineLength=0; <BR>&nbsp;&nbsp;&nbsp;&nbsp;//记录当前行中汉字字节数,以防止将一半汉字分为两行<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned short halfChinese=0;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0; i&lt;=szString.GetLength()-1; i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(((unsigned char)szString.GetAt(i) == 0x0d) && ((unsigned char)szString.GetAt(i+1) == 0x0a))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theLineLength=0;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//大于0xa1的字节为汉字字节<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((unsigned char)szString.GetAt(i) &gt;= 0xA1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;halfChinese++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theLineLength++;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果行宽大于每行最大宽度,进行特殊处理<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(theLineLength &gt; nMaxLineChar)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//防止将一个汉字分为两行,回溯<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(halfChinese%2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;szString.Insert(i,(unsigned char)0x0a);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;szString.Insert(i,(unsigned char)0x0d);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;szString.Insert(i-1,(unsigned char)0x0a);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;szString.Insert(i-1,(unsigned char)0x0d);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theLineLength = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//重新计算矩形边界范围<BR>//&nbsp;&nbsp;&nbsp;&nbsp;int tmpLine = int(abs(szString.GetLength()*tmpWidth / abs(lpRect-&gt;right - lpRect-&gt;left)-0.5));<BR>//&nbsp;&nbsp;&nbsp;&nbsp;tmpLine += (szString.GetLength()*tmpWidth % abs(lpRect-&gt;right - lpRect-&gt;left))? 1 : 0;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;if(tmpLine == 0)<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmpLine = 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(rcInner.bottom &gt; lpRect-&gt;bottom)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rcInner.bottom = lpRect-&gt;bottom;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(rcInner.top &lt; lpRect-&gt;top)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rcInner.top = lpRect-&gt;top;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//---------------------------------------------------------------------------------------------<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -