WEB开发网
开发学院数据库Sybase 工具条控件和自定义报表 阅读

工具条控件和自定义报表

 2006-04-08 23:07:15 来源:WEB开发网   
核心提示:工具条功能简介(1) 可以在工具条上实现按钮(button),下拉框(dropdownlistbox),文本框(textbox),复选框(checkbox)等. (2) 工具条在普通窗口,MDI框架窗口,popup窗口等都能使用. (3) 可以重新安排工具条上按钮,文本框等的显示顺序和是否显示等. (4) 可以设定按钮
工具条功能简介

(1) 可以在工具条上实现按钮(button),下拉框(dropdownlistbox),文本框(textbox),复选框(checkbox)等.
  (2) 工具条在普通窗口,MDI框架窗口,popup窗口等都能使用.
  (3) 可以重新安排工具条上按钮,文本框等的显示顺序和是否显示等.
  (4) 可以设定按钮,文本框等的状态,如 enabled,visible等.
  (5) 在按钮disable后可以切换图片.
  (6) 可以设置或得到下拉框(dropdownlistbox),文本框(textbox),复选框(checkbox)的内容恶化状态.
  (7) 使用方法非常简单,包括两个方面:
    a) 创建工具条上的元素方法简单.
      只需声明一个工具条的元素结构数组并赋值,再调用一个方法即可,如:
    stru_toolbar tools[]    //工具条的元素结构数组
    tools[1].name = 'MyButton'   // 元素的名称
    tools[1].bitmap = 'new.bmp'   // 图标,对应的disable的图标为new-disabled.bmp
    tools[1].tooltip = 'This is a button'  // 鼠标移动到按钮上时的提示文字
                        // 不是按钮时为元素的前置文字
    tools[1].enabled = true     // enable the button
    tools[1].check = false     // uncheck the button
    tools[1].spacebefore = 1    // 按钮前有分割条, 值大于1时,将在按钮前留出若干空位
    tools[1].tooltype = 0      // 0:button,1:dropdownlistbox,2:textbox,3:checkbox
                    // default is 0
    tools[1].width = 10       // 为按钮和checkbox时没有影响
                    // 设定dropdownlistbox 和textbox 的宽度.
     ....
   //uo_1.of_tb_addtools(tools)    // 装载元素,响应当前活动窗口的事件
    uo_1.of_tb_addtools(tools,true) // 装载元素,响应当前MDI框架窗口的事件
    ue_1.of_tb_draw()        // show
    b) 处理工具条的的元素的事件(点击,输入,选择等)简单.
      对于事件的定义规则如下:
      按钮:对应的click事件激活窗体的自定义事件,事件名为 'ue_' + 按钮名 + '_clicked', 对于 上面的按钮为 ue_mybutton_clicked
      checkbox : 和按钮相同
      dropdownlistbox,textbox: 对应的事件名为 'ue_'+元素名+'_changed'

工具条功能功能实现:

(1) 创建自定义用户对象 uo_toolbuttonspliter 为个元素前的分割条
  (2) 创建按钮图片的自定义对象 uo_transpaerntpicture, 使用treeview 实现图片的显示.
    所有图片请放置在当前路径下的 Images 子目录中.
  (3) 创建自定义对象nvo_tooltip提供提示功能主要使用API函数
  (4) 创建按钮对象uo_toolbutton,并封装有关的函数和事件
    创建dropdownlistbox对象uo_dropdownlistbox,并封装有关的函数和事件
    创建checkbox对象uo_checkbox,并封装有关的函数和事件
    创建editbox对象uo_editbox,并封装有关的函数和事件
  (5) 创建工具条对象uo_toolbar进一步对各种元素提供封装,并管理各种元素

具体的使用方法和演示参见示例程序.

自定义报表功能简介

(1) 任意增加、修改、删除报表,而无须改动源程序。   
  (2) 自动生成功能,选择项目后快速生成表格式或自由式等常用报表。   
  (3) 手动设计功能,可以设计出复杂的中国式报表及套打单据。   
  (4) 直线、文本、表达式等对象的位置、大小、字体、颜色、内容可以任意改变。   
  (5) 采用动态数据窗口处理,没有调用PB之外的资源。
  (6) 报表可以方便的保存,修改.   
  (7) 调用简便,在开发状态,只需将数据窗口作为参数调用 w_dynareport 窗口即可。
  (8) 可以作为最终产品直接提供给用户, 可以挂接到其他的系统中用以生成这些系统所没有提供的报表.
  (9) 配合工具条的使用,界面非常直观友好.

自定义报表设计思路

中国的报表格式太多,同一行业的每个单位的报表也各不相同,如果要使自己的软件通用化,报表可以 让用户自己修改,这样程序员的后续维护量就可大大减少,更可以提高应用软件的生命力.对于用户,自定义 报表一直是他们非常迫切的要求.

所有的功能仿照数据窗口设计器开发,制作了一个汉化的动态数据窗口的设计器。而这个设计器本身就 是用一个动态数据窗口来实现的。其中最大的难点在于制作动态的对象(直线、文本、表达式),表达式的 汉化、数据源的选取等。动态对象可以create和modify解决。表达式的汉化则需要提取字段的汉字和分解表 达式,汉字的提取可以从后台的汉字标识中获得,或者从输入和查询的数据窗口中去查找,分解表达式就需 要有很强的语法分析能力。至于数据源就有可能是前台已下载的或正输入的数据,对这种数据我们采用了共 享方式,减少对后台的操作。

具体的使用方法和演示请参见示例程序.

Tags:工具 控件 定义

编辑录入:coldstar [复制链接] [打 印]
赞助商链接