·首页 ·asp ·.net ·php ·JSP ·CGI ·数据库 ·网页设计 ·网管专栏 ·XML ·工具软件 ·办公软件 ·操作系统 ·程序设计 ·LINUX 
  当前位置: 普克>>计算机教程>>程序设计>>PowerBuilder>>怎么在数据窗口中用左箭头实现shift
flash视频教学

photoshop专题

asp.net专题

office专题

怎么在数据窗口中用左箭头实现shift+tab


PowerBuilder 发表时间:2006-4-8 字体:  返回

问:各位大侠: 我想在PB中获得一个象foxpro那样的编辑环境,即按左箭头光标便移动到当前列的左边一列,按右箭头光标便移动到右边一列,请问有什么办法?特急!!!

答:声明函数:
subroutine keybd_event(uint bVk,uint bScan,long dwFlags,long dwExtraInfo ) library 'user32.dll'

定义用户事件keydown: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! then
    keybd_event(VK_TAB,0,0,0) //按下tab
    keybd_event(VK_TAB,0,2,0) //释放tab
    return 1
end if

 

function boolean GetKeyboardState (ref char kbarray[256]) library "user32.dll"
function boolean SetKeyboardState (ref char kbarray[256]) library "user32.dll"
//脚本:用户事件keydown:pbm_dwnkey
char lc_kb[256]
if key = KeyLeftArrow! then
    GetKeyboardState (lc_kb)
    lc_kb[17] = Char (128)
    SetKeyboardState (lc_kb)
    Send (Handle (this), 256, 9, 0)
    GetKeyboardState (lc_kb)
    lc_kb[17] = Char (0)
    SetKeyboardState (lc_kb)
end if



上一篇:如何在DDDW中实现当前高亮行随鼠标移动
下一篇:怎样在程序中为datawindow加计算域或line

普克创业投资网刊载此文不代表同意其说法或描述,仅为提供更多信息。
在百度中搜索怎么在数据窗口中用左箭头实现shift+tab的相关内容]   [在狗狗中搜索怎么在数据窗口中用左箭头实现shift+tab的相关内容]
Copyright @ 2006 PUPK.COM 普克创业投资网 版权所有
 建议使用1024*768以达到最好的浏览效果