TIPTOP 4GL——自定义按钮前加图标

大笑对于TIPTOP系统,标准的按钮都有相对应的小图标,如下图:

但是对于自己添加的按钮,很少有小图标的;

那下面我就分析一下怎么让自己加的按钮也有小图标:看效果(右边按钮):

【当然我这个是直接用的系统里面的按钮,其实那个图标也可以自己去设置的】

那这个是怎么加上去的呢?且听一步步道来:哈哈

1.首先,我们run一支程序的时候,我们可以通过后台看到如下信息:

简单说明一下:

4st:存放屏幕显示的Style设定。

4ad:存放每支程序Action代码与显示说明数据转换的资料。其下结构为:语言别/系统别/各程序转换数据文件

4tm:存放每支程序的TopMenu数据。其下结构为:系统别/各程序转换数据文件

4tb:存放各类程序的ToolBar设定数据。

我们可以清楚的看到其中有一个4ad加载两次,一次为标准的tiptop目录下的,一次为客制的topcust下面的。

我们主要关注topcust/config目录下的内容 如下:

/u1/topprod/topcust/config/4ad/2/cqc /cqci120.4ad

这个是我修改过的:image属性是我加进去的。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

<?xml version='1.0'?>
<ActionDefaultList>
   <ActionDefault name="create_size" text="尺寸维护"       image="pen" />
   <ActionDefault name="create_a" text="外观维护"            image="agree" />
   <ActionDefault name="create_c" text="功能维功"            image="deny" />
   <ActionDefault name="create_d" text="包装维护"            image="modify_flow" />
   <ActionDefault name="create_e" text="其他检测项目"    image="withdraw" />
</ActionDefaultList>

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

就是这个image属性影响前面的图标。其实很简单。不过这里只介绍怎么在调试OK的程序里面加这个偷笑

偷笑偷笑再说一点,通过这种直接修改4ad的方法能达到效果,但是只要你运行p_zz右边按钮【Action维护】即是程序p_base_act程序。此效果就没有了

也就是说它会重新生成.4ad文件覆盖已经有的文件,所以就不存在image属性了。

如果想不用通过这里去改,那就得改程序咯大笑大笑

也简单的说一下吧:

p_base_act.4gl里面有个 FUNCTION p_base_act_output_4ad()  这个函数,这个就是往4ad里面写按钮信息的。

————————————————————————————————————————————

……………………………………

   IF lc_module.subString(1,1) = "c" THEN
          LET ls_filename = ls_topcust.trim() || "/4ad/" || lc_gbd03 || "/" || lc_module CLIPPED || "/" || lc_gap01 CLIPPED || ".4ad"     ##文件名
       ELSE
          LET ls_filename = ls_top.trim() || "/4ad/" || lc_gbd03 || "/" || lc_module CLIPPED || "/" || lc_gap01 CLIPPED || ".4ad"
       END IF

       display "Info 4ad name = ",ls_filename
       LET lc_cmd = "cat /dev/null > ", ls_filename CLIPPED   #TQC-630006 #MOD-650098      ###写之前置为空
       RUN lc_cmd
       LET li_openhead=FALSE #档头未开启

      …………下面这段就是写的具体内容。可以很清楚的看到没有  Image 属性

   (你知道这里的三个属性name ,text , comment 在界面上是哪里的内容么?往下看图)

             # 2004/06/14 看有没有 comments 有就倒
             IF cl_null(la_gbd.gbd05) THEN
                LET ls_str = "   <ActionDefault name=\"",la_gbd.gbd01 CLIPPED,"\" text=\"",la_gbd.gbd04 CLIPPED,"\" />"
             ELSE
                LET ls_str = "   <ActionDefault name=\"",la_gbd.gbd01 CLIPPED,"\" text=\"",la_gbd.gbd04 CLIPPED,"\"comment=\"",la_gbd.gbd05 CLIPPED,"\" />"
             END IF

             IF li_openhead = FALSE THEN
                # 2004/04/17 输出档头
                LET lc_channel = base.Channel.create()
                CALL lc_channel.openFile( ls_filename CLIPPED, "a" )
                CALL lc_channel.setDelimiter("")
                CALL lc_channel.write("<?xml version='1.0'?>")
                CALL lc_channel.write("<ActionDefaultList>")
                LET li_openhead = TRUE
             END IF

             CALL lc_channel.write(ls_str)
          END IF
       END FOREACH

       IF li_openhead = TRUE THEN
          CALL lc_channel.write("</ActionDefaultList>")
          CALL lc_channel.close()
       END IF

——————————————————————————————————————————

name= TEST9,text=Action名称,comment=Action说明

 

其实要想加个imgae属性也是很容易的;可以在GBD_FILE table里面加一个栏位拉记录,

用来维护imges字段,然后修改p_base_act_output_4ad() 此函数就OK啦。

是不是很简单呢。有兴趣的可以试一下,甚至还可以不用系统的图片,自己加图片。

只要不把TIPTOP玩死就OK啦偷笑偷笑偷笑………

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值