改进wwDBEDIT的汉字输入(200分)

  • 主题发起人 主题发起人 zhtx
  • 开始时间 开始时间
Z

zhtx

Unregistered / Unconfirmed
GUEST, unregistred user!
我在使用INFORPOWER 3000的wwDBEDIT中,发现存在一个问题,输入汉字时,第一个字母直接
进入编辑框,而不是汉字输入框,删除后重新输入则正常,但我使用DBEDIT则无此问题,
而且如果先使用DBEDIT,再使用wwDBEDIT,则无此问题.
跟踪发现输入第一个字母,DBEDIT收到的MESSAGE是>128的KEY,而wwDBEDIT是<128的KEY.
因本人新手一个,研究了很长时间也没研究出道理,故请各位大侠指点一二.
相关源代码:DBEDIT在DBCTRLS,wwDBEDIT在WWDBEDIT,他们都是继承自TCustomMaskEdit,
我猜想是DBEDIT里作的处理能解决此问题,而WWDBEDIT没作,但实在找不到,请各位大侠
帮帮忙,在此先谢谢了.
 
用个Edit控件放在上面当作输入中转好了,
OnChange让两个Text相同。
 
bubble:谢谢,如果光是要解决这个问题,我换个控件就行了,关键是INFORPOWER的其他控件
大都继承这个控件,所以大都有这个问题,所以我想从根本上解决这个问题,这个解决了,其他
的就迎刃而解了.
 
老外的東西就是這樣子的,我也沒招
 
没问题啊,我刚试过,什么输入法,ip3000的版本.
 
我一直在用都没这个现象。
 
这就怪了,我用的是WIN2000,不管什么输入法都是这样,我在WIN98上试了也是这样.
我用的是DELPHI 5.0,.
IP3000最新和次新版本都这样.
原来我看其他朋友类似的帖子也是这种情况,也是有的正常,有的不正常.
 
我也用了这个控件,没有你说的情况,我用的输入发是拼音加加和微软智能输入都没有
问题,我用的是ip3000
 
我也不知道怎么办。也遇到这个问题了。
大概是wwDBEdit中字符模式为大写时比较容易发生,各位大侠再试试?
 
我最喜欢用IP3000了,从没出现过你讲的问题呀。
 
果然如我所料,有的朋友有,有的没有,真奇怪,是否和DELPHI的版本有关,请问没有这种现象的
朋友用的是什么版本?5.0还是6.0
另:我发现如果WWDBEDIT不绑定数据库则无此现象.
 
试着改变charset,以及imemode,imename属性,
看看有没有组合没问题。
 
我找到原因了,是自动编辑的原因.
当进入DBEDIT,WWDBEDIT时,DATASET并没有进入编辑状态,而是当我们按第一个键时自动进入
编辑状态,而这些控件只处理第一个键是英文的情况,而不处理中文.
但如果我们用鼠标选择时,DBEDIT自动进入编辑状态而WWDBEDIT不进入,我测试时是用的
鼠标选择,所以结果不一样.
因此要解决这个问题,只有进入前,执行EDIT,先强迫DATASET进入编辑状态即可,
我用此方法成功的解决了WWDBEDIT和WWDBGRID的问题.
不知大家是否还有什么好的见解,请不吝赐教,有见解者得分.
 
多人接受答案了。
 
后退
顶部