问一个关于键盘事件的问题!最后20分,无私奉献!

YewPu 2006-01-22 01:57:03
————————————————————————————————————————————

1、关于窗口中使回车和上下左右等键触发切换焦点:

这点不难,但关于一个在单行编辑器或是一些下拉窗口的焦点问题,例:

1、在单行编辑器里有 this关于焦点在t的前面时按下左键跳至上一个控件,如果按下右键则将跳

到t后。一直跳下下一位数直至在结尾时才跳到下一个控件。

2、在下拉控件,如果是按下键时,下拉还有数据则跳到下一条数据,如果是最后一条数据则跳到

一下控件,按上键同样。

————————————————————————————————————————————

2、关于命令按键使用回车键触发的问题:

思想倒有的,就是当在命令按钮时按下回车,即在UE_enter(事件ID是什么?)写入按下空格键的代

码,请问这个代码又怎样写?

————————————————————————————————————————————

CSDN积分好辛苦,每天都几分可积,惟有一点一点累积,现在又要散分发问啦!

谢谢帮助!
...全文
188 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
YewPu 2006-02-02
  • 打赏
  • 举报
回复
UP
YewPu 2006-01-23
  • 打赏
  • 举报
回复
回leio,功能太致实现了,是用KEY事件中...keybd_...触发空格,然后松开空格,,,功能到的效果还可以,就像在WINDOWS下的按钮一样,写个USEROBJECT,或用继承的方法也减少了不少工作量,不过就有一点儿不满意,就是当触发时,按钮没有被按下和松开的动作(视觉上),,这是美中不足的地方,
keybd_event(32,0,0,0) //按下空格
keybd_event(32,0,2,0) //松开空格
也许是这两行代码运行的速度过快,而没有看到按钮被按下的一瞬间吧.
有什么办法呢?是否真的要加个keyup,keydown的事件分别写吗?
以前CHINALHT同志写过一控件给,他的就可以实现按下和松开的感觉,但也有美中不足的地方,就是有时按下或松开时,事件不被触发,有时一连按几次ENTER键才行.
jimmyxc 2006-01-23
  • 打赏
  • 举报
回复
中午喝了点酒怎么这么多人来了呀,up^_^
leio 2006-01-23
  • 打赏
  • 举报
回复
回楼上
我说的这个方法是把那个default按钮不显示出来(visible为false),并且这个按钮里面不写代码,所以不会影响美观,也不会影响程序。这里的关键是,焦点无论在其他那个按钮上,按回车就会触发有焦点的那个按钮的clicked事件。也就达到了楼主的要求。

这个是我写PB程序时常用的,不会有问题的。
leio 2006-01-22
  • 打赏
  • 举报
回复
命令按钮用回车触发有一个最简单的方法。
在窗口中增加一个按钮,将其visible设为false,default设为true,其它按钮的default不能为true。
这样在运行的时候,就能达到楼主要求的效果。
bbdx2523 2006-01-22
  • 打赏
  • 举报
回复
pdm_dwnprocessenter(回车的)
也可以同楼上的
对于方向键的一些特殊要求,我是通过ctrl键与方向键一起触发跳转...(右边的ctrl键也方向键很近,使用也方便)
li_d_s 2006-01-22
  • 打赏
  • 举报
回复
pbm_keydown(窗口)
pbm_dwnkey(数据窗口)
YewPu 2006-01-22
  • 打赏
  • 举报
回复
LEIO 你這個方法不是很正確....雖然可以達到回車觸發的效果,但是很不理想,據我所知的有幾點,1、當DEFAULT為TRUE時,此然後按鈕會加一層陰影,第一是美觀問題。1、當為TRUE時,當你發按回車他有理無理都觸發,並不是當他得到焦點時才觸發。

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧