在简体中文系统中 Text 控件的 Keypress 里。如果用 Text1.Text = Chr(Keyascii)
Keyascii = 0 在输入中文时,可以正常的得到相应的中文。 但在英文系统中却会报错。用 ChrW 虽然不报错,但得到的字符却不是我所输入的中文。请问在英文系统中要如何修改才能用类似上面的方法来达到手工把输入的中文字加上去的目的。我要求是中英文字符都能正常处理。网上找了很多资料了,但在英文系统里总是不行。问题的答案应该很简单,就是几行代码,但我试了好多方法都不行,所以才来问一下。而且网上容易找到的很多版本的文章我都看过了,还是没搞定,所以只好麻烦这里懂得的大哥说两句了。谢谢。.
Keyascii = 0 在输入中文时,可以正常的得到相应的中文。 但在英文系统中却会报错。用 ChrW 虽然不报错,但得到的字符却不是我所输入的中文。请问在英文系统中要如何修改才能用类似上面的方法来达到手工把输入的中文字加上去的目的。我要求是中英文字符都能正常处理。网上找了很多资料了,但在英文系统里总是不行。问题的答案应该很简单,就是几行代码,但我试了好多方法都不行,所以才来问一下。而且网上容易找到的很多版本的文章我都看过了,还是没搞定,所以只好麻烦这里懂得的大哥说两句了。谢谢。.
解决方案 »
- 百度搜索跳到搜狗 原理
- 有关于通过MSHFLEX控件导出EXCEL,请教各位高手
- 请教:由于控件太多,在一个界面中放不下,但是又必须在同一个界面中显示,我想,如何用垂直滚动条来现实?
- 行,我服,连续两个帖子被强行结帖,我去C板块发去。
- 那位高人知道VB中的CDate与DateValue这二个方法有什么区别。多谢了 ^_^
- 急急急急急,怎么调用dll文件阿,救命啊
- 为什么我在VB中写SQL调用charindex函数,出现表达式函数没定义的错误?
- VB+SQL 多表多条件查询问题
- 哪错了?请指教!!
- 请教:如何清空文件夹?
- 两个窗口如何互相传送值
- Autocad VBA调用excel,rst.RecordCount=-1???
给你参考
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 0 Then
Text1 = Chr(KeyAscii + 65536)
Else
Text1 = Chr(KeyAscii)
End If
KeyAscii = 0
End Sub
Run-time error '5':
Invalid procedure call or argument错误信息没什么作用的,因为英文系统下不能直接用 Chr 函数处理双字节字符的 Ascii 码。但是 Chrw 函数又是处理 Unicode 用的,而 Keypress 事件里的却是 Ascii 码,所以又无法直接用 Chrw 函数。我也试过用 StrConv 函数转换,但 StrConv 是对字符做转换,而此时的却是 Ascii 码,所以无法直接转换。如果有英文环境的朋友就可以自己试一下看看了。或者,有没有一个函数或简单的算法可以把中英文字符的 Ascii 码转换成 Unicode 码的编码来让 Chrw 能正常识别?谢谢各位了。