RichText控件使用请教

时间:2022-08-29 22:22:51
我在VB中加入部件Microsoft RichText后,使用上很多与TextBox一样。
但是,有一个问题很郁闷。例如,我写了下面这个代码:
Private Sub RichTextBox1_Change()
     Label1.Caption = RichTextBox1.Text
End Sub
一般情况下,Label1上的文字和RichText中文字一样,每打一个字都变一次。
这个问题是在使用五笔输入法下出现的:
在输入aqaq时,提示框是“1.葡萄 2.区区”,此时若继续打其他字母,如b,正常情况下,“葡萄”二字将会上屏,而b也出现并提示变为“了”(五笔中b=了)。然而,只要在Change事件中加入读取RichTextBox1.Text的代码,输入b时,“葡萄”二字虽然上屏了,同时b字母也就消失了。
此现象被有些人称为“第五码丢失”。这个现象谁能帮我解决吗?
RichText控件使用请教

补充,在Change事件中写代码代码没问题,比如给某几个字设颜色等,都没问题。但只要用到RichTextBox1.Text就有问题。

另外还有一个其他问题:有时小键盘打数字时,数字能上屏,却不触发Change事件。是什么回事呢?

9 个解决方案

#1


这种因“控件引起”的问题,恐怕不能从代码上解决。
RichText控件使用请教

你所说的“第五码丢失”,我这儿试了下确实是会那样。
但用标准控件中的TextBox就没那个问题。

但“数字能上屏,却不触发Change事件”,
  我这儿可没有这事,是能够触发Change()事件的。
你仔细检查一下你的代码,这个事件跟“从哪儿输入”是没关系的,
即使用程序语句改变它的Text文本内容,也会触发Change事件的。

#2


楼上莫非是陈辉?
不知使用VC中的RichEdit(1.0或2.0)有否此问题。另外,我觉得在VB中能够解决,是否,有一款软件,叫《益国打字通》,用SPY++和Depends查得它是用VB做的,它的输入框正是RichText,它能够在打字过程判断正确和错误的字(和上面对照栏的文字比较),说明其一定也用了RichTextBox1.Text,但是它却没有“第五码丢失”现象。我写信问作者,他不理我。
楼上如果有兴趣,可以下载《益国打字通》看看。我下载并上传到了这里
http://at01.cn/download/yiguo.rar,从中选择“文章练习”即可试到效果。(记得从软件中选择输入法)
另外我的程序传到这里http://at01.cn/download/dz.rar,还请专家你看看啊!

#3


 不是。  RichText控件使用请教

陈辉已经好几年没出现了。
他的账号好像是 chenhui530 吧。

#4


果然是VB6程序。  RichText控件使用请教

但不知道他是如何处理实现“防止第五码丢失”的。
软件中他用的那个RICHTX32.ocx ,就是VB6带的那个版本的控件。
RichText控件使用请教

#5


我甚至觉得他没有特意做什么处理,无意中避开了“第五码丢失”的情况。
楼上兄台也是高手,我邀请你加入我的VB群好吗?此群创建有十年了,各种朋友都在。陈辉在里面一段时间后退出了。
VB群号200452312

#6


RICHTX32.ocx似乎分英文版和Unicode版或汉字版。

#7


此问题迁延一年多了,一直没有解决。有哪位高手能帮忙解决,愿意送分送银子啊!!

#8


刚才新建了一个标准EXE工程来试,没有任何问题。

操作系统是一样的,只是重新安装过了。
输入法不一样,在1楼试验、回复时,那个时候用的是“极点五笔”。 现在用的输入法是智能陈桥 7.9版。
2017年9月底,换硬盘、重新安装系统后,只安装了智能陈桥,其它的输入法就没用了。
(系统都是用同一个Ghost镜像文件来安装的: Win 7 旗舰版/SP1 64位)

#9


旧的输入法怎么会自动适应新控件新系统呢? RichText控件使用请教

#1


这种因“控件引起”的问题,恐怕不能从代码上解决。
RichText控件使用请教

你所说的“第五码丢失”,我这儿试了下确实是会那样。
但用标准控件中的TextBox就没那个问题。

但“数字能上屏,却不触发Change事件”,
  我这儿可没有这事,是能够触发Change()事件的。
你仔细检查一下你的代码,这个事件跟“从哪儿输入”是没关系的,
即使用程序语句改变它的Text文本内容,也会触发Change事件的。

#2


楼上莫非是陈辉?
不知使用VC中的RichEdit(1.0或2.0)有否此问题。另外,我觉得在VB中能够解决,是否,有一款软件,叫《益国打字通》,用SPY++和Depends查得它是用VB做的,它的输入框正是RichText,它能够在打字过程判断正确和错误的字(和上面对照栏的文字比较),说明其一定也用了RichTextBox1.Text,但是它却没有“第五码丢失”现象。我写信问作者,他不理我。
楼上如果有兴趣,可以下载《益国打字通》看看。我下载并上传到了这里
http://at01.cn/download/yiguo.rar,从中选择“文章练习”即可试到效果。(记得从软件中选择输入法)
另外我的程序传到这里http://at01.cn/download/dz.rar,还请专家你看看啊!

#3


 不是。  RichText控件使用请教

陈辉已经好几年没出现了。
他的账号好像是 chenhui530 吧。

#4


果然是VB6程序。  RichText控件使用请教

但不知道他是如何处理实现“防止第五码丢失”的。
软件中他用的那个RICHTX32.ocx ,就是VB6带的那个版本的控件。
RichText控件使用请教

#5


我甚至觉得他没有特意做什么处理,无意中避开了“第五码丢失”的情况。
楼上兄台也是高手,我邀请你加入我的VB群好吗?此群创建有十年了,各种朋友都在。陈辉在里面一段时间后退出了。
VB群号200452312

#6


RICHTX32.ocx似乎分英文版和Unicode版或汉字版。

#7


此问题迁延一年多了,一直没有解决。有哪位高手能帮忙解决,愿意送分送银子啊!!

#8


刚才新建了一个标准EXE工程来试,没有任何问题。

操作系统是一样的,只是重新安装过了。
输入法不一样,在1楼试验、回复时,那个时候用的是“极点五笔”。 现在用的输入法是智能陈桥 7.9版。
2017年9月底,换硬盘、重新安装系统后,只安装了智能陈桥,其它的输入法就没用了。
(系统都是用同一个Ghost镜像文件来安装的: Win 7 旗舰版/SP1 64位)

#9


旧的输入法怎么会自动适应新控件新系统呢? RichText控件使用请教