RichEdit的unicode
vb吧
全部回复
仅看楼主
level 9
klimaa 楼主
总在别的帖子下面回复不好,单独开一个吧。@yjryym
我尝试在richedit上面显示unicode文本,开始是在控件上写的,后来显示没问题了,觉得控件麻烦就重新写类,今天发现显示不出来unicode了。由于paste是能显示unicode,就以为又是指针处理错了,找了半天原因,觉得处理没问题,好像是窗体不支持。返回头来查,发现果然是因为子类化用的是A版,换成W就好了。
控件里没用子类化,所以没问题。到处是坑啊
richedit60w没有找到dll文件,不过没关系了,3.0版挺好用的。
2025年06月05日 08点06分 1
level 9
klimaa 楼主
klimaa: 回复 yjryym : 我试了一下,似乎lParam还是要ansi,输出是codepage决定的,我还以为是输入。不过不用考虑a/w还是要简单多了。尤其其它的功能强了很多。
yjryym: 回复 klimaa :还是要ANSI会不会是因为RTF文本的原因?RTF是全ASCII字符。你试试flags上指定ST_UNICODE或ST_PLAINTEXTONLY,codepage同时指定为1200。
确认,输入可以是多种格式,可按照代码页转码后正常显示。原来的错误还是指针错误。
而且,即便窗体不支持unicode,也可以正常显示(或许不能保存)
2025年06月05日 08点06分 2
富文本框还有一个流式输入(比SETTEXTEX更强)和流式输出(比GETTEXTEX更强)的接口:https://learn.microsoft.com/zh-cn/windows/win32/controls/em-streamin
2025年06月06日 02点06分
@yjryym 比如说你从磁盘文件中加载,就可以使用这个操作来加载,这样就不需要一次性把所有文件全部读入内存再设置到富文本框,你只需要在流式输入的回调里面调用ReadFile,流式输出的回调里面调用WriteFile就行了。
2025年06月06日 02点06分
@yjryym 流的加载速度更快,我想想怎么用。我现在做的是一个小说阅读器,在每一页显示总页数,这样就需要全部载入。当然也可以异步实现。
2025年06月11日 00点06分
@yjryym 说道回调,抛开编译方式,我总觉得和VB的function没啥区别,这个理解对吗?
2025年06月11日 00点06分
1