newease 发表于 2009-8-11 08:53:06

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

请问如何实现利用左右键及回车键进行列的焦点转移?
这要用到Windows中的API函数keybd_event()

①定义API:
    Subroutine keybd_event(uint bVk,uint bScan,long dwFlags,long dwExtraInfo ) library "user32.dll"

②自定义一用户事件(ue_keydownID: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
页: [1]
查看完整版本: 如何利用左右键及回车键来转移列的焦点?

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com