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

RichEdit3 自动宽字符取行字串有关问题

2013-12-06 
RichEdit3 自动宽字符取行字串问题我在BCB6使用RichEdit3,因为這自动格式是宽字符(WideString),我用RichEd

RichEdit3 自动宽字符取行字串问题
我在BCB6使用RichEdit3,因为這自动格式是宽字符(WideString),
我用RichEdit1 -> Lines -> Strings[0]这样的代码时,
因为BCB6好像默认支援ANSI,所以导致显示的字串只有前面几个字,无法获得一行的完整字串。

我尝试用AnsiString strText = RichEdit1 -> Lines -> Strings[0];
也不行,该怎么解决这种问题呢...

网上找了WideCharToMultiByte()与CW2A(),两种Wide转Ansi方式,
看不太懂,这两个转换函数可以解决我的问题吗? RichEdit3 WideString 宽字符 Wide转换
[解决办法]
RichEdit3为了保持兼容性由两种模式,一种是支持ASCII字符串,一种是支持Unicode字符串,你的不知道是不是字符串编码的问题

你在引入RichEdit3的时候应该要载入一些借口函数,你检查并修改一下试试
[解决办法]

引用:
Quote: 引用:

我目前也正在寻找一个跨平台的开源的富文本编辑器,但都有问题

我在想阿...
文本内容是WideString的,RxRichEdit的TStrings在Classes.hpp定义是Ansi,
所以读出来才会少几个字符吧!!!

这...............


宽字符按窄字符来读取, 遇到0x0的字节就认为结束了.
[解决办法]
引用:
Quote: 引用:

我目前也正在寻找一个跨平台的开源的富文本编辑器,但都有问题

我原本是弄BCB6的RichEdit中,不过已过10年多
支援的功能已不完善,才去找第三方控件。

找到了两个都一样问题,叹.......

我只是个刚入门,不是挺会改控件内部的定义
要尽快完成理想中的开发,得考虑升级XE2以上了!


在RichEdit3中有直接支持ASCII字符串和Unicode字符串两套函数,我之前准备修改源码以在BCB中使用RichEdit4x,但发现RichEdit4x中放弃和添加了大量的函数,BCB源码中的大部分接口函数都不能存在了,能用的也有诸多问题,考虑以后的跨平台等问题,因此放弃了
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

我目前也正在寻找一个跨平台的开源的富文本编辑器,但都有问题

我在想阿...
文本内容是WideString的,RxRichEdit的TStrings在Classes.hpp定义是Ansi,
所以读出来才会少几个字符吧!!!
这...............

宽字符按窄字符来读取, 遇到0x0的字节就认为结束了.

也不一定加空格
如:
某行(今夜烟花最美),代码取行显示(今夜烟?)
某行(今夜烟花最美多),代码取行显示(今夜烟花)
某行(今夜烟花最美多美),代码取行显示(今夜烟花?)
某行(今夜烟花最美多美A),代码取行显示(今夜烟花最)
......以此类堆

好诡异!!!


这个明显是取一半的数据哦, 看来和有效长度有关系.

热点排行