wangtiequan 发表于 2016-8-4 10:01:08

testfield设置不允许编辑,但是发现英文不可以录,但是中文可以录入,这个怎么解决

如题

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

本帖最后由 yangjianlang 于 2016-8-10 01:23 编辑

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

gw0506 发表于 2016-8-10 09:51:11

yangjianlang 发表于 2016-8-10 01:22
我用TX ActiveX23也存在这个问题,字母数字不能输入,但是汉字可以输入。已经使用如下代码还是管控不住,请 ...

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

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

我联系厂商,看有没有解决方案。你可能要等几天了。

yangjianlang 发表于 2016-8-10 12:20:28

版主请回复,急需解决!

yangjianlang 发表于 2016-8-10 12:20:31

版主请回复,急需解决!

gw0506 发表于 2016-8-10 14:16:19

yangjianlang 发表于 2016-8-10 12:20
版主请回复,急需解决!

我回复了啊,目前在等厂商的回复。

gw0506 发表于 2016-8-10 16:50:35

厂商回复了,这就是产品的限制,正如我给你解释的原因。而且我估计是在控件内部,没有处理KeyChar消息,所以会被漏掉。

目前的办法只能是接KeyDown和KeyUp消息,用FieldCurrent来确认是哪一个Field,用FieldText去缓存并比较Text是否有变化,变了就设置回去。不过,界面上可能会有闪烁。
页: [1] 2
查看完整版本: testfield设置不允许编辑,但是发现英文不可以录,但是中文可以录入,这个怎么解决