主题:如何控制数据窗口有选择地接收收入的字符(急,请指教)
maping
[专家分:30] 发布于 2006-07-19 16:57:00
我做的一个窗口,有很多功能键,我想实现在数据窗口输入的时候,如果是功能键的字符就不输入到数据窗口中,直接响应功能键
回复列表 (共12个回复)
沙发
xmxm [专家分:30] 发布于 2006-07-21 15:10:00
举个实例,不然不好说!
板凳
maping [专家分:30] 发布于 2006-07-22 13:04:00
比如说,窗口上面有个数据窗口控件,还有一个窗口功能键S,当窗口接收到字符S的时候,弹出另一个新窗口。
当客户输入字符S的时候,焦点正停留在数据窗口控件上,窗口响应功能键S的同时,字符S也输入到数据窗口里了,我的意思是让数据窗口拒绝接收字符S,只响应功能键的功能。
请教如何处理,在数据窗口的什么事件里处理?
3 楼
潇洒老乌龟 [专家分:1050] 发布于 2006-07-23 20:52:00
如果是窗口,可以自定义一个事件,ue_input,event_id为:pbm_keydown
CHOOSE CASE key
CASE keyDelete! , KeySubtract!
IF cb_delitem.Enabled = TRUE THEN
cb_delitem.TriggerEvent(Clicked!)
RETURN
END IF
IF cb_deldeta.Enabled = TRUE THEN
cb_deldeta.TriggerEvent(Clicked!)
RETURN
END IF
CASE KeyAdd!
IF cb_additem.Enabled = TRUE THEN
cb_additem.TriggerEvent(Clicked!)
RETURN
END IF
IF cb_adddeta.Enabled = TRUE THEN
cb_adddeta.TriggerEvent(Clicked!)
RETURN
END IF
CASE KeyF5!
wf_treereflash()
CASE ELSE
RETURN
END CHOOSE
在每个case里面写你需要的代码.
不过DW里面我没搞过.
4 楼
潇洒老乌龟 [专家分:1050] 发布于 2006-07-23 20:54:00
你在DW里面自己也增加一个自定义事件,方法同上,你试试.
5 楼
maping [专家分:30] 发布于 2006-07-24 11:59:00
潇洒老乌龟:
我试了在DW里定义事件 event_id为:pbm_keydown 输入的时候根本就不响应这个事件,还有其他的什么办法吗?
6 楼
xmxm [专家分:30] 发布于 2006-07-24 12:30:00
建议换种方法来实现功能键得应用,如alt+s,
很多问题,需要变通,不要问题复杂化!
适用系统事件,弄不好,很容易死机,从而造成程序不稳定!
7 楼
maping [专家分:30] 发布于 2006-07-25 14:23:00
xmxm:
把功能键换成alt+S 也不行阿
因为如果焦点在dw里,会即响应功能键,也会把S输入到dw里
怎么办?
8 楼
maping [专家分:30] 发布于 2006-07-27 13:17:00
高手们,请帮忙研究一下,我先谢谢了
9 楼
潇洒老乌龟 [专家分:1050] 发布于 2006-07-27 22:51:00
在DW里面我没成功过.不好意思.
但在窗口里面,我的方法是可行的
10 楼
maping [专家分:30] 发布于 2006-08-01 15:13:00
潇洒老乌龟:
麻烦你帮我想想办法,帮我解决一下,我实在是不知道怎么办,
小女子先行谢谢了!!!
我来回复