pb10,window界面设置问题

pen_scholar 2008-03-28 01:10:50
W_main窗口中有60个编辑框, sle_1 、sle_2……………. sle_60,每个编辑框只能输入一个数字字符,因此当sle_1的一个字符输入完后,让光标焦点转向到sle_2输入,一次类推,就不必用鼠标或tab去移动到下一个输入框中,这样的效果怎么来做???
...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmwmmw_bj 2008-03-28
  • 打赏
  • 举报
回复
这个最好,学习了!
leio 2008-03-28
  • 打赏
  • 举报
回复
其实还有个最简单的方法三:

不要用sle,全部换用editmask,然后在其属性->mask
选中autoskip,mask设置为#

再设置好taborder这样即可
mmwmmw_bj 2008-03-28
  • 打赏
  • 举报
回复
但是一楼的它自动往下走吗?楼主的意思是不是输入完sle_1后就自动到sle_2了
I_am_Z 2008-03-28
  • 打赏
  • 举报
回复
赞同1楼,2楼方案不赞同,
没有必要让如此小功能占用过多系统资源。
timer事件一旦启动,系统会很繁忙。
I_am_Z 2008-03-28
  • 打赏
  • 举报
回复
楼上正解,没什么可说的。
mmwmmw_bj 2008-03-28
  • 打赏
  • 举报
回复
这个我觉得可以用timer事件来处理一下,在窗体的open事件中:timer(0.1)
在timer()事件中:if len(sle_1.text)>=1 then
sle_2.setfocus()
End if
反正就是这个意思吧,没有写全,你可以试一下。
leio 2008-03-28
  • 打赏
  • 举报
回复
方法一:
new->pb objecgt->standardvisual
创建一个singlelineedit的UO
在此uo的keyup事件中写代码
if len(this.text) >=1 then
send(handle(this),256,9,long(0,0))
end if

窗口上所有的sle都用这个uo,设置好TABORDER,limit属性设置为1。

方法二:
在你窗口的所有sle的keyup事件中写上面的代码,设置好taborder

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧