PowerBuilder中回车键的应用

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航