找回密码
 立即注册

QQ登录

只需一步,快速开始

wangtiequan

注册会员

6

主题

12

帖子

42

积分

注册会员

积分
42
wangtiequan
注册会员   /  发表于:2016-8-4 10:01  /   查看:7842  /  回复:18
如题

17 个回复

倒序浏览
gw0506
超级版主   /  发表于:2016-8-4 11:30:59
沙发
你用的什么版本。目前最新版本这是很常见的功能,没有这个问题。
回复 使用道具 举报
wangtiequan
注册会员   /  发表于:2016-8-8 17:21:14
板凳
gw0506 发表于 2016-8-4 11:30
你用的什么版本。目前最新版本这是很常见的功能,没有这个问题。

20
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-8-8 18:30:36
地板
你可以用最新的试试。或者给我一个demo,我这边用23版本,没法重现。
回复 使用道具 举报
yangjianlang
初级会员   /  发表于:2016-8-10 01:22:30
5#
本帖最后由 yangjianlang 于 2016-8-10 01:23 编辑

我用TX ActiveX23也存在这个问题,字母数字不能输入,但是汉字可以输入。已经使用如下代码还是管控不住,请版主指导。This.ole_text.Object.FieldChangeable = False
This.ole_text.Object.FieldDeleteable = False

Windows XP Professional-2016-08-10-01-19-20.png
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-8-10 09:51:11
6#
yangjianlang 发表于 2016-8-10 01:22
我用TX ActiveX23也存在这个问题,字母数字不能输入,但是汉字可以输入。已经使用如下代码还是管控不住,请 ...

Sorry,我又忘了你用的是ActiveX的了。

没错,问题我重现了。不过我也解决不了。ActiveX的控件中没有控制IME的接口,当输入法弹出时,输入内容会在一个叫composite window中,不在控件上。简单说跟没有输入法的时候,走的是不同的机制。
我也尝试在进入field和离开field时做些控制,不过都不成功。暂时我也没有办法了。

我联系厂商,看有没有解决方案。你可能要等几天了。
回复 使用道具 举报
yangjianlang
初级会员   /  发表于:2016-8-10 12:20:28
7#
版主请回复,急需解决!
回复 使用道具 举报
yangjianlang
初级会员   /  发表于:2016-8-10 12:20:31
8#
版主请回复,急需解决!
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-8-10 14:16:19
9#
yangjianlang 发表于 2016-8-10 12:20
版主请回复,急需解决!

我回复了啊,目前在等厂商的回复。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-8-10 16:50:35
10#
厂商回复了,这就是产品的限制,正如我给你解释的原因。而且我估计是在控件内部,没有处理KeyChar消息,所以会被漏掉。

目前的办法只能是接KeyDown和KeyUp消息,用FieldCurrent来确认是哪一个Field,用FieldText去缓存并比较Text是否有变化,变了就设置回去。不过,界面上可能会有闪烁。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部