首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么实现整词换行? 顶者有分

2012-02-24 
如何实现整词换行?顶者有分我通过GDI+实现了一个文本显示的东西,因为有一些特殊需求所以必须自己写,但不能

如何实现整词换行? 顶者有分
我通过GDI+实现了一个文本显示的东西,因为有一些特殊需求所以必须自己写,但不能整词的换行,整词换行就是像Word一样,当一行显示不下时,遇到是一个字时直接换行,当遇一个词时,将整个词换到下一行.
请问该怎么实现?

我知道词的规则,我也试过自己控制换行(计算   x,y值一个词一个词的打印,判断窗体的width,当超过宽度时换行,但运行效率太低)
求高效些的方法!!

大家帮忙想想办法!!

[解决办法]
英文还是中文?
RichEdit控件对英文好像自带有这个功能。
[解决办法]
BOOL CGPStaticEx::IsASingleWord(const CString & csText)
{
charcEnd = 0;

cEnd = csText.GetAt(csText.GetLength() - 1);
if ( ( csText.Find( " ") == -1 ) || (cEnd == ' ') )
return TRUE;
else
return FALSE;
}
有这个函数检测没一行最后一个字符是否是完整此的结尾来判断是否该回行
[解决办法]
up
[解决办法]
也做过类似的 不过还有图片 换起行来真麻烦 最后算法不好导致速度太慢 只要知道CEdit内部怎么做的就好办了
[解决办法]
当单个单词大于窗口宽度的时候还要截断这个单词
[解决办法]
我给你的函数不好用么?
我做过一个带居中折行功能的静态控件,
测试的时候在编辑框里输入文字,
在静态控件中可同步显示,
用的就是这个函数。
[解决办法]
那你就得使用中科院计分词的方法这是网址:
www.nlp.org.cn;mtgroup.ict.ac.cn
这个分词主要在CResult类的FileProcessing函数里进行的,你要是还是不太明白可以写信给我,我的邮箱是lujing18@yahoo.com.cn。
[解决办法]
up
[解决办法]
我也遇到了此类问题,而且是多语言。如果是多语言呢?用户可能随时切换为日文、中文、泰文、韩文、法文等,这时?????
[解决办法]
up
[解决办法]
UP
[解决办法]
你用什么来显示文字的?
CDC::DrawText 这个就可以整词换行
[解决办法]
CDC::DrawText
是整字换行吧

热点排行