工具条功能简介
(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解决。表达式的汉化则需要提取字段的汉字和分解表 达式,汉字的提取可以从后台的汉字标识中获得,或者从输入和查询的数据窗口中去查找,分解表达式就需 要有很强的语法分析能力。至于数据源就有可能是前台已下载的或正输入的数据,对这种数据我们采用了共 享方式,减少对后台的操作。
没有相关教程
|