怎么在数据窗口中用左箭头实现shift+tab
2008-11-13 22:39
411 查看
问:各位大侠:我想在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
此题由摆渡人工作室站长ferryman回答
kukoc 再提供另一种解决方法(比较原始,但也能实现):
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
答:声明函数:
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
此题由摆渡人工作室站长ferryman回答
kukoc 再提供另一种解决方法(比较原始,但也能实现):
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
相关文章推荐
- 怎么在数据窗口中用左箭头实现shift+tab
- PB在数据窗口里实现Enter回车键代替Tab键转到下一行
- PB在数据窗口里实现Enter回车键代替Tab键转到下一行
- pb中数据窗口中的行怎么实现通过拖拉行来改变顺序?不是按照字段排序
- 数据窗口实现与excel双向复制和粘贴
- PB [Grid风格数据窗口改变线条颜色] 的变通实现方法(也可以成为 带表头的Grid数据窗口)
- 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)
- easyUI(二) -- 怎么实现多选并取得选中项指定数据
- jsp怎么实现想servlet,提交数据呢?
- 怎么实现从excel表数据导入到sql server数据库中
- NSIS实现自定义选择数据保存目录窗口
- 【 c#】实现form窗口中,通过按钮实现tabPage的切换
- ajax怎么打开新窗口具体如何实现
- 重写Windows基类,自定义WPF窗口,实现改回车键为TAB
- PowerBuilder中实现数据窗口打印预览通用方法
- crosstab数据窗口的StaticMode
- 如何实现datewindow数据窗口中的列为可编辑列
- easyUI的table表格怎么实现将某一列数据之和放入新追加的一行中
- JavaScript实现提交模式窗口后刷新父窗口数据的方法
- ETL工具kettle怎么实现增量数据抽取:二 时间戳