首页 > 开发 > 综合 > 正文

PowerBuilder中回车键的应用

2024-07-21 02:10:06
字体:
来源:转载
供稿:网友

                                         powerbuilder中回车键的应用

        众所周知,回车键一般情况下都适用于确认,那么,在应用程序中用好回车键也是很有必要的。
1.回车键在window中的应用
    比如一个登录窗口w_login,当用户输入用户名,按下回车键后,即可进入密码的输入,密码输入结束后,按下回车键焦点移动到一下操作,依次类推,那么我们就应该这样用代码来控制:
    首先,假设w_login窗口中有:sle_username、sle_password、cb_ok和cb_cancel等控件。
    a.在sle_username的modify事件中写如下代码:
    // script for user event ue_checkkey, // which is mapped to pbm_keydown.
    if keydown(keyenter!) then  // go to sle_3 if   
      sle_2.setfocus( )       // enter pressed. 
    end if
   
    b.在sle_password的modify事件中写如下代码:
     // script for user event ue_checkkey, // which is mapped to pbm_keydown.
    if keydown(keyenter!) then  // go to sle_3 if   
      cb_ok.setfocus( )       // enter pressed. 
    end if
注意:这里不提倡使用按钮的default属性,否则,按下回车键后响应了按钮的defaule属性。

2.回车键在datawindow中的应用
    当用户录入完一行数据后,如果按下回车键,能够自动跳到下一行,如果当前行是最后一行就自动增加一行。
    /*****************************************************************
                           用户对象
     功能: 主要用于用户在进行数据录入时,方便的用enter键在列中切换。
     逻辑: 如果光标落在当前行的第一列,那么,按下回车键后,光标跳至
          下一列,依次一直到该行的最后一列。
        当光标在当前行的最后一列时,按下回车键即可新增加一行纪录,
    并且把新增加的行作为当前行,设当前行的第一列为当前列。
     适用: 浏览数据表中的记录
     编程: 海 洋
     创建: 2002年4月3日
     修改:
     版本: 1.0
    ******************************************************************/

 if this.accepttext()<0 then
  return
 end if
 
 if this.getcolumn()=long(this.describe("datawindow.column.count")) then
  if this.getrow()=this.rowcount() then
   this.insertrow(0)
   this.scrolltorow(this.getrow()+1)
   this.setcolumn(1)
   return
  end if
 end if
    send(handle(this),256,9,long(0,0))
  this.settransobject(sqlca)

      当然回车键的使用很广泛,希望有更好的方法和大家分享,也希望大家多提宝贵意见,谢谢!

****************************************oceanaut 2002-10-22
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表