posts - 14,  comments - 3,  trackbacks - 0

  这是个经典的问题,在我看来,如果一个数据库应用程序做不到这一点,那也太不人性化了,充其量是能是个练习版。不过实现这个功能后,却为给以后的许多地方造成一定的影响,这以后再谈到。先谈这个,实际很简单。

1.先建一个standrad visual,选择datawindow

 

2.新建一个事件命名为u_enter,其对应的event id为pbm_dwnprocessenter,编下如下的代码:

 

if this.getcolumn()=Long(this.object.datawindow.Column.count) then  //如果是最后一列   

  if this.getrow()=this.Rowcount() then  //并且是在最后一行     

    this.insertrow(0)  //则增加新行      

    this.scrolltorow(this.getrow()+1) //并且使之成为当前行     

    this.Setcolumn(1)  //并将第一列设置为当前列     

    return 1 //然后返回   

  end if

end if

send(Handle(this),256,9,long(0,0)) //发送处理Tab键的消息   

return 1 //忽略回车键的处理

 

3.保存后即完毕需要这类数据窗口的地方,只要插入user object control,选择此数据窗口对象即可。

 

 需高手解决的问题:

1.关于pbm_dwnprocessenter事件的具体含义,不是很懂。

2.return 1,这个语句的具体含义不是很清晰,只感觉pbm_dwnprocessenter要求返回值,当为1时,就屛蔽当前按键原有功能(事件)。尽管不是很懂,但在后来的程序中却用到了,很管用。

posted on 2007-07-17 22:00 wlj768 阅读(1082) 评论(0)  编辑 收藏 引用 所属分类: 数据库编程之PB学习
只有注册用户登录后才能发表评论。
<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(1)

随笔分类(11)

随笔档案(14)

文章分类(2)

1

搜索

  •  

最新评论

阅读排行榜

评论排行榜