Powerbuilder 控件的二次开发

翻译|其它|编辑:郝浩|2006-07-25 13:48:00.000|阅读 2208 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>


Powerbuilder 的初级爱好者在进行程序的开发时应注意pb原有控件的二次开发应用,何谓pb控件二次开发?pb中的标准控件加上自己的一些东东。下面就把我自己在学习pb中的一些关于这方面的经验和大家共享,希望能对大家有所启示。
点击Pb工具栏的user object按钮
  在打开的select user object 窗口中点击new按钮,接着会打开new user object 窗口,选择此窗口中visual中的standard 后点击ok

  下面就会打开"select standard visual type "窗口,在type列表框中选择你要进行二次开发的控件
  现在我们举个例子,大家都看到在一些商业软件的输入窗口中按一下enter键,输入焦点马上转移到下一个输入焦点(这是在DOS时代养成的习惯),这个功能在Pb中能很容易实现,我们通过对singlelineedit 控件的二次开发将此功能封装到自己的用户对象中,将来用到时直接选用即可。


现在我们接着图3往下介绍,在type列表框中选择singlelineedit 控件按OK后就会打开user object的编辑窗口,然后选择菜单中的declare项中的user events
  定义自己用于检测enter键的用自定义户事件。接下来会打开事件定义窗口,灰色部分为系统本身已拥有的事件,我们要在空白部分输入自己的事件名称和events Id,如我们定义的事件名称为checkkey ,events Id可在下面的事件栏中进行选择,我们选择pbm_keydown事件,剩下的就是OK啦(
  最后剩下的就是给checkkey事件进行编程了,我们在这个事件中首先检测enter键,如果键值是enter,则跳到下一个输入焦点,具体程序如下:
if keydown(keyenter!) then //检测键值
Send(Handle(this),256,9,Long(0,0)) //跳到下一个焦点
end if
最后保存,给自己的user object起名字为U_singlelineedit,到此就结束了,当用到此功能时就可以直接拿来。
对于datawindow控件要实现象fox的那种按Enter键跳转到下一个字段的功能Pb也可以轻松实现,方法与上面介绍的基本相同,在Event Name中输入tab_to_enter,在Event Id上选择pbm_dwnprocessenter ,然后对其编程,

程序如下:
if this.AcceptText() < 0 then
Return 1
end if
Send(Handle(this),256,9,Long(0,0))
return 1

  把你的用户对象取名为U_datawindow,这样你的二次开发就结束了。当然你也可以给你的U_datawindow加上你自己所喜好的默认属性如横、竖滚动条等,如图7。今天我们就介绍到这,当然大家可以在以后的学习当中开发自己的用户对象,这样日积月累将会开发就会变的越来越简单。希望大家和我交流我的E-mail:sdwd_lhq@263.net。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP