当前位置: 代码迷 >> PB >> Enter顶替Tab
  详细解决方案

Enter顶替Tab

热度:63   发布时间:2016-04-29 06:33:24.0
Enter代替Tab
DW数据窗口:FROM,每个单元格都是可显示多行的高度,通过SQL SELECT形式创建,所有的列类型为:char(50),这种数据窗口的列类型是不能修改的,所有列autoselect勾选上

方法一:
Subroutine keybd_event(int bVk,int bScan,ulong dwFlags,ulong dwExtraInfo) LIBRARY "user32.dll"

keybd_event(VK_TAB,0,0,0) //按下tab 
keybd_event(VK_TAB,0,2,0) //释放tab 
RETURN 1

在FROM格式的DW中,出现结果,当前单元格执行ENTER,于是当前单元格被选中的内容,被回车键清除了。
然后焦点跳到下一个单元格,下一个单元格的内容,又被自动选择了,再回车……,于是这个DW内的内容,全部被清除光了,郁闷

方法二:

Send(Handle(this),256,9,Long(0,0))
RETURN 1

效果:当前单元格内容不变,焦点跳到下一个单元格,下一个单元格内容全部自动选择,然后在下个单元格内输入一个回车,下个单元格内的内容被一个回车键代替,再回车……,于是,整个DW窗口,除第一个单元格外,其它单元格内容,全部变成一个回车了,再次郁闷

测试三:
把所有的列,高度调整为显示一行内容的高度,两种方法都能将回车键完美的替换成tab键的效果。无语了……

—————————分割—————————————————
然后改变dw数据窗口,仍然是FROM形式,但创建时,使用External,自己输入列,类型全部为String,在这样的数据窗口里,不论用第一种方法,还是第二种方法,按下回车,都被完美的替换成TAB键了,而且不管列的高度是显示单行的高度,还是显示多行的高度,都没问题。


我的pb :12.5.2 5550

—————————问题———————————————————
求教一个能有效的将回车替换成tab的方法
数据窗口要求:自由布局,从数据库表中SELECT的,列的高度是多行的
如果大家测试,发现没有我的这个问题,请告知你的版本号,让我再测试下,谢谢
Enter代替Tab

------解决方案--------------------
引用:
DW数据窗口:FROM,每个单元格都是可显示多行的高度,通过SQL SELECT形式创建,所有的列类型为:char(50),这种数据窗口的列类型是不能修改的,所有列autoselect勾选上

方法一:
Subroutine keybd_event(int bVk,int bScan,ulong dwFlags,ulong dwExtraInfo) LIBRARY "user32.dll"

keybd_event(VK_TAB,0,0,0) //按下tab 
keybd_event(VK_TAB,0,2,0) //释放tab 
RETURN 1

在FROM格式的DW中,出现结果,当前单元格执行ENTER,于是当前单元格被选中的内容,被回车键清除了。
然后焦点跳到下一个单元格,下一个单元格的内容,又被自动选择了,再回车……,于是这个DW内的内容,全部被清除光了,郁闷

方法二:

Send(Handle(this),256,9,Long(0,0))
RETURN 1

效果:当前单元格内容不变,焦点跳到下一个单元格,下一个单元格内容全部自动选择,然后在下个单元格内输入一个回车,下个单元格内的内容被一个回车键代替,再回车……,于是,整个DW窗口,除第一个单元格外,其它单元格内容,全部变成一个回车了,再次郁闷

测试三:
把所有的列,高度调整为显示一行内容的高度,两种方法都能将回车键完美的替换成tab键的效果。无语了……

—————————分割—————————————————
然后改变dw数据窗口,仍然是FROM形式,但创建时,使用External,自己输入列,类型全部为String,在这样的数据窗口里,不论用第一种方法,还是第二种方法,按下回车,都被完美的替换成TAB键了,而且不管列的高度是显示单行的高度,还是显示多行的高度,都没问题。


我的pb :12.5.2 5550

—————————问题———————————————————
求教一个能有效的将回车替换成tab的方法
数据窗口要求:自由布局,从数据库表中SELECT的,列的高度是多行的
如果大家测试,发现没有我的这个问题,请告知你的版本号,让我再测试下,谢谢


用回车代替tab是有这个问题,没有非常完美的方案,建议你不要选择autoselect,而是根据需要,自己去代码来实现,就没你说的那个问题了
  相关解决方案