人民银行湘西州中心支行科技科
张昌华
----
PowerBuilder作为一个强有力的数据库开发工具已经成为众多程序员的最爱,本人曾用FOXPROW、VB等开发工具编写过不少应用程序,近两年开始用PB编写一些应用系统。随着PB版本的不断升级,PB应用程序界面也得到了较大程度的改观。可直到PB
7.0版,对于用惯VB的我总觉得有一个小小的问题一直未很好解决,那就是:对于应用程序窗口中的按钮的提示信息太少,系统仅仅对菜单及工具栏按钮提供了MicroHelp信息。而在VB中几乎所有控件都有一个TooltipText属性,利用它可对控件进行进一步的说明。而在PB中本人一直不得不采用间接方法给控件增加MicroHelp信息,不过效果还是蛮好。下面本人就简单介绍一下在PB
7.0中,通过创建一个标准可视用户对象来实现给窗口中每个按钮提供MicroHelp信息的功能,供有类似要求的朋友参考。
---- 具体方法如下:
- 建立或打开一个含有MDIHELP!类型窗口(以下简称MDI窗)的应用;
- 利用标准CommandButton控件创建了一个标准可视用户对象:选择菜单“File→New…”,在Object选项卡中选Standard
Visual,然后在Select Standard…窗口中选择Commandbutton,点“OK”确定便进入User
Object设置窗口,然后给对象添加一个mousemove用户事件,在窗口中的小按钮上点右键选Script进入对象事件编辑窗,接着在事件名称下拉框中选(New
Event),(注意:有的用户可能要调整窗口高度才能看到更多的设置信息。)然后将Event Name设为mousemove,Event ID设为pbm_mousemove,然后在刚建立的mousemove事件中输入如下代码:
w_main.SetMicroHelp(this.tag)
其中w_main为MDI窗的名称,用户自己根据实际情况设置。最后将User Object窗口存盘,取名为mycommandbutton,并关闭该窗口。到此一个标准可视用户对象便成功建立。
-
在应用窗口(可为各种类型的窗口)中使用mycommandbutton控件:与使用标准commandbutton控件类似,在控件列表框中选中User
Object,然后在Select
Object窗口中选中mycommandbutton,再按OK,便可在窗口中放置一个mycommandbutton控件,该控件仅比标准commandbutton控件多了一个mousemove事件,如果有必要,您还可在其中添加代码,其它属性、事件与标准的commandbutton一样使用。这时您只需在其Tag属性中写入MicroHelp提示信息,运行程序,当把鼠标移到该按钮上时,在MDI窗的MicroHelp提示区将出现Tag中的信息。为了让鼠标移出该按钮时MicroHelp提示信息复原,您还得在按钮所在应用窗口的mousemove事件中加入如下代码:
w_main.SetMicroHelp(“Ready”) //w_main为MDI窗的名称。
----
到此您便可在自己的应用中使用mycommandbutton来代替标准的commandbutton,从而实现按钮的MicroHelp提示,当然在不需要此功能时,您仍可用标准commandbutton控件。另外,您也可用另一种方法:即在定制mycommandbutton时不添加mousemove事件,而直接在GetFocus事件中添加同样的代码来实现。不过这样将只有把光标移到按钮上时,才有提示,这两种方式的优劣由用户自己去评判。对于其它控件,用户可用类似方法实现。
|