Board logo

Subject: CNAAScrollText控件中文字换行位置的计算有BUG [Print This Page]

Author: 流年似水    Time: 2012-11-2 23:09     Subject: CNAAScrollText控件中文字换行位置的计算有BUG

您好,很感谢您提供的组件。

我在使用CNAAScrollText控件时,感觉文字换行的位置计算不正确。

如附件图片。

我设置的控件的宽度是192,应该能正好显示开12个中文字符,但是始终只显示11个,

当把控件的宽度设置为200时,才会显示12个字符,这显然不正确。

我也看了一下源代码,但不晓得从哪里可以修改,希望能修复此BUG或者指点一二我来修改,不胜感激。

Image Attachment: QQ截图20121102230516.png (2012-11-2 23:09, 5.09 K) / Download count 21
http://bbs.cnpack.org/attachment.php?aid=909


Author: zjy    Time: 2012-11-3 16:02     Subject: 确实是个Bug

您可以自己修改一下:
CnAAFont.pas 文件第3955行,将原来的:
      if Col >= MaxCol - 1 then
修改为:
      if Col >= MaxCol then
应该就行了,一会我会在SVN上做个更新。
Author: 流年似水    Time: 2012-11-6 22:02     Subject: 非常感谢回复。

您说的这段代码我自己也尝试修改过,修改后的效果如图所示。

中文换行显示没问题了,但是遇到英文或者数字的时候,会有最后一个字母或者数字显示不正常。

希望能给出解决办法。谢谢。

Image Attachment: QQ截图20121106215937.png (2012-11-6 22:02, 4.95 K) / Download count 21
http://bbs.cnpack.org/attachment.php?aid=910


Author: delphi    Time: 2012-11-12 15:30

中文占两个字符,英文占一个字符,那样改显然不合适
Author: 流年似水    Time: 2012-11-19 12:45     Subject: 回复 #4 delphi 的帖子

要怎么修改呢?




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0