设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 819|回复: 2
打印 上一主题 下一主题

[Access本身] 关于输入法带来的问题

[复制链接]
跳转到指定楼层
1#
发表于 2004-4-6 02:48:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在一个文本框控件里,想实现输入全角"*"时自动将其替换成半角“*”,使用textbox_change事件及sendkeys语句,由此出现一个问题:在sendkeys("{backspace}")
sendkeys("*")后,文本框里出现的还是全角的"*",出现死循环。猜测其原因是sendkeys语句相当于使用键盘输入,而在输入"*"引发textbox_change事件时输入法处于打开状态,故输入法将其转换为全角后传递给文本框。
那么,如何用textbox_change事件搭配sendkeys语句实现这个功能呢?尝试用sendkeys("^  ")不能达到效果。也考虑过用设置textbox的text属性来实现需求,但光标定位又成了一个大麻烦,哪位高手有解决办法,请不吝赐教[em04]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2004-4-6 05:41:00 | 只看该作者
你将该文本框输入法状态设为否不行么?
3#
 楼主| 发表于 2004-4-6 06:45:00 | 只看该作者
输入法设为否的话,输入法打不开,无法输入汉字啦
不过现在这个问题已经解决了,找到了个函数,在控件失去焦点时用StrConv(textbox.Text, vbNarrow)就达到目的了:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-5 01:36 , Processed in 0.090878 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表