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

怎么限制输入框只能输入汉子?vb6

2013-01-07 
如何限制输入框只能输入汉子?vb6如何限制输入框只能输入汉子?vb6[解决办法]vb怎么辨别输入的为中文[解决办

如何限制输入框只能输入汉子?vb6
如何限制输入框只能输入汉子?vb6
[解决办法]
vb怎么辨别输入的为中文
[解决办法]
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii > 0 Then KeyAscii = 0
End Sub
[解决办法]
依我看,这个容易啊,监察IMEStatus的值,如果值是0,那就不是中文。


IMEStatus 函数
      

返回一个 Integer,用来指定当前 Microsoft Windows 的输入法 (IME) 方式;只对东亚区版本有效。

语法

IMEStatus

返回值

下面是日本国别的返回值:

常数 值 描述 
vbIMEModeNoControl 0 不控制IME(缺省) 
vbIMEModeOn  1 打开 IME 
vbIMEModeOff 2 关闭 IME 
vbIMEModeDisable 3 IME 无效 
vbIMEModeHiragana 4 完整宽度 Hiragana 模式 
vbIMEModeKatakana 5 完整宽度 Katakana 片假名模式 
vbIMEModeKatakanaHalf mode  6 半宽 Katakana 模式 
vbIMEModeAlphaFull mode 7 完整宽度 Alphanumeric 模式 
vbIMEModeAlpha mode  8 半宽 Alphanumeric 模式 


下面是韩国地区的返回值:

常数 值 描述 
vbIMEModeAlphaFull 7 完整宽度 Alphanumeric 模式 
vbIMEModeAlpha 8 半宽 Alphanumeric 模式 
vbIMEModeHangulFull 9 完整宽度 Hangul 模式 
vbIMEModeHangul 10 半宽 Hangul 模式 


下面是中文地区的返回值:

常数 值 描述 
vbIMEModeNoControl 0 不控制IME(缺省) 
vbIMEModeOn 1 打开 IME 
vbIMEModeOff 2 关闭 IME 


[解决办法]
也就说当文本框获得焦点时,九江IMEStatus设置为1,即可。
[解决办法]
的确,2 楼的代码只能限制输入的是东方文字。日文和韩文都是可以通过的。

但对于楼主来说,他的应用应该是限定了输入仅为中文和西文。

还有,目前代码放行的不仅仅是“汉字”,中文字库中的标点符号也是可以通过的。要过滤这些字符,需要附加的代码。

[解决办法]
汉字和全角标点不是混排的.
通过编码可以区分.
比如都转换为unicode代码后,高字节是0的,都不是汉字.
2010-203b是广义标点,全角标点吧?
3041-30FE是平假名和片假名
3447-FA29是汉字

这样是有定义的,笨办法就是去word里面插入符号.

热点排行