如何利用左右键及回车键来转移列的焦点

如何利用左右键及回车键来转移列的焦点

这要用到Windows中的API函数keybd_event()

①定义API:
    Subroutine keybd_event(uint bVk,uint bScan,long dwFlags,long dwExtraInfo ) library "user32.dll"
 
②自定义一用户事件(ue_keydown  ID:pbm_dwnkey):
    integer VK_TAB = 09
    integer VK_SHIFT = 16

    if key = KeyLeftArrow! then
       keybd_event(VK_SHIFT,0,0,0) //按下shift
       keybd_event(VK_TAB,0,0,0) //按下tab
       keybd_event(VK_TAB,0,2,0) //释放tab
       keybd_event(VK_SHIFT,0,2,0) //释放shift
       return 1
    end if
    if key = KeyRightArrow! or key=KeyEnter! then
       keybd_event(VK_TAB,0,0,0) //按下tab
       keybd_event(VK_TAB,0,2,0) //释放tab
       return 1
    end if

如若只是想利用ENTER键来实现TAB键的功能可以用以下代码:
    if key=keyenter! then
        Send(Handle(this),256,9,Long(0,0))   //发送TAB键
      Return 1  //取消原ENTER键的动作
    end if

[注]keybd_event()函数

说明: 这个函数模拟了键盘行动。
参数 类型及说明
bVk 欲模拟的虚拟键码。
bScan 键的OEM扫描码。
dwFlags Long,零;或设为下述两个标志之一
            &H1    指出是一个扩展键,而且在前面冠以0xE0代码。
            &H2    模拟松开一个键。
dwExtraInfo Long,通常不用的一个值。api函数GetMessageExtraInfo可取得这个值。允许使用的值取决于特定的驱动程序。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值