【发布时间】:2015-10-27 11:03:16
【问题描述】:
我正在尝试将几个中文符号放在一个静态控件中,该控件不够大,无法全部保留。结果是:
如您所见,一些符号被移动到第二行。拉丁字母不会出现此问题。
编辑:添加SS_SIMPLE样式到中文静态,解决了问题,但我想知道为什么中文和拉丁文本渲染之间会有这样的差异?
谢谢, 卡林
【问题讨论】:
-
中文字体需要更多空间。让您的控制更大。
-
@JonathanPotter:静态控件对于拉丁文本也不够大。您可以在右边缘看到一个部分可见的字符。问题(据我了解)是,为什么拉丁文本不换行到下一行,而中文文本却换行。
-
中文和英文的换行规则不同。英语使用空格分隔单词,由于没有空格,整个字符串
AAAAAAAAAAA..AAAA被视为一个不可分割的巨词。中文不使用空格分隔单词。任何字符后都允许换行。因此,一旦到达静态控件的右手边,中文文本就有换行的机会。