当前位置: 代码迷 >> PB >> :editmask 空间stringmask 模式下编辑怎么切换成insert mode
  详细解决方案

:editmask 空间stringmask 模式下编辑怎么切换成insert mode

热度:135   发布时间:2016-04-29 06:42:31.0
高手请进:editmask 空间stringmask 模式下编辑如何切换成insert mode ?
在PB8 上,处于stringmask 模式下的的editmask控件 ,如果未指定mask ,编辑时默认采用的insert mode ,即改写模式。 制定了mask之后均采用的是overwrite 模式。

PB115 上,不管是否指定了 mask , 均采用的是 overwrite模式。 

在SAP的官网上搜索到 08年的帖子讨论过这个问题 ,但是认为无法换成insert mode . 

我尝试过使用 pbm_keydown 事件抓取编辑前的字符串,然后再pbm_enchange消息事件中拼出想要的串,以此达到insert mode . 
很遗憾的是,使用了pbm_keydown 消息事件 对于键盘输入法有限制,不能抓到搜狗等输入法的中文输入,而且对于一些特殊的键比如说“delete”键也处理不到,需要写额外的代码进行控制,总之很不方便。 


请高手指教,是否有其它的方式达到insert mode的效果。 

如果实在不行 , 我只好将 editmask 控件换成 SiglelineEdit之类的控件了。
editmask?overwrite

------解决方案--------------------
使用pb11.5测试了一下,未设置掩码时,为insert mode,可以随便输入

设置为“!!!######!!!!!”,也是insert mode,根据掩码输入,只不过初值为空

使用版本pb11.5 build 3050 ,使用pb12也测试过,没有发现楼主说的问题


怀疑楼主是不是已经有初始值,尝试把值先清空,然后再输入试试
------解决方案--------------------
对呀,我用pb12.5 2511 测试,也没有发现lz的问题,不会是你的pb问题吧?你身边其它同事都有这个问题吗?
  相关解决方案