在某系统的实现中,遇到了物料清单的编辑及显示问题,要求能够按照树形结构显示某产品的详细构成情况。例如,产品分为几个大总成,各总成下有若干装置、部件,各部件下可能有小总成、部件、零件等等,这样就可能形成一棵很复杂的树结构。
而且要求能够进行复杂的查找,过滤等操作,因此与数据窗的查找(find)及过滤(filter)、排序(sort)等结合起来是非常理想的控件构建方式。在PB中,通过树与数据窗一起运行,是可以满足这样要求的。甚至可以做成通用的控件用来满足所有的树结构类型的数据的编辑。
以下讲述主要实现原理:
1、数据窗中,包含用来处理成树节点treeviewItem的各个列,如 代码、名称、父代码、层次...
源代码下载:http://blog.blogchina.com/upload/2004-12-07/20041207155830520878.rar在开发中,往往开发人员需要控制控件大小适应窗口的大小,使得软件在不同的分辨率下也显得比例协调.那么,怎么才能让窗体中控件自动随窗体变化大小呢?我觉得有一种原始方法很有用,不让窗体可以最大化:比如飞天餐饮软件.......当然这种方法是绕道而行.开发出来的软件肯定好看不了.好了,让我们来引出下面这个很有用,比较专业的Model吧.--------------------------------------------------------------------------------Option ExplicitPrivate FormOldWidth As Long'保存窗体的原始宽度Private FormOldHeight As Long'保存窗体的原始高度'在调用R...
如果您曾经遇到过在运行时修改所有控件的工作,您一定能体会到逐个修改控件是一件多么烦琐的事情了。实际上,在VB.NET中有一种简单的方法可以实现这一功能。控件选择表单包含了一系列控件,您可以对这些控件进行循环选择,从而在运行时改变您需要的控件属性。例如,在表单上添加两个文本框,然后添加以下的代码:Private Sub SetControls()Dim cControl As ControlFor Each cControl InMe.ControlsIf (TypeOf cControl Is TextBox) ThencControl.Text = "abc"End IfNext cControlEnd Sub在这个例子中,我将变量cControl定义为控件对象,然后创建了一个FOR循环来检查表单上所有的控件,如果该控...
Visual Studio .NET提供的MonthCalendar控件允许你选择日期和一组日期。这个控件允许用户方便地选择日期。它类似于让你选择一个特定日期的DataTimePicker控件,不过MonthCalendar控件还可以帮助你选择一个时间。 使用MonthCalendar控件下面的例子说明如何使用MonthCalendar控件。在常用控件(Common Controls)下的工具箱(Toolbox)中找到MonthCalendar控件并将它添加到窗口表单(Window Form)中,设置以下属性: ·Name:mcDateSelection ·TodayDate:空 ·MaxSelectionCount:1 ·Selection Range Start:空 ·Selection Range End:空 在Form Load事件中添...
VS.net本身并不提供智能设备(如PDA)应用程序的柱形图,开发智能设备应用程序时VS.net并不象Window应用程序那样提供用户自定义控件。在本文中,您将创建一个以柱形图显示的 PDAChartControl自定义控件。还将创建一个使用此 PDAChartControl自定义控件的智能设备应用程序。为了完成开发工作,您将执行这些过程: · 创建该 PDAChartControl 自定义控件的运行时版本。 · 编译该 PDAChartControl 自定义控件的设计时版本。 · 将该控件添加到工具箱中。 · 创建一个使用该 PDAChartControl 自定义控件的智能设备应用程序。 · 在智能设备应用程序中测试该控件。...
先给出两个控制方法 1、显示tooltip public static void postToolTip(JComponent comp) { Action action = comp.getActionMap().get("postTip"); if (action == null) // no tooltip return; ActionEvent ae = new ActionEvent(comp, ActionEvent.ACTION_PERFORMED, "postTip", EventQueue.getMostRecentEventTime(), 0); action.actionPerformed(ae); } 2、隐藏tooltip public static void hideToolTip(JComponent comp) { Action action = comp.getActionMap().get("hideTip"); if (action == null) // no tooltip return; ActionEvent ae = new ActionEvent(...
一、API声明: SUBROUTINE CopyMemory(ref METAHEADER Destination , ref blob Source, long Length) LIBRARY "kernel32" Alias for "RtlMoveMemory" SUBROUTINE CopyMemory2(ref blob Destination , ref blob Source, long Length) LIBRARY "kernel32" Alias for "RtlMoveMemory" Function ulong SetMetaFileBitsEx(ulong nSize,ref blob lpData) LIBRARY "gdi32.dll" 二、PB脚本: METAHEADER lst_Hdr integer li_FileNum Long ll_hMF,ll_loops,ll_pos,ll_len blob lb_structure,lb_da...
PowerBuilder中的TreeView 控件为树状游览,类似于WINDOWS的资源管理器,其特点是信息项呈树状层次结构,能更清晰地表现主、细目关系 ,操作非常方便。在应用中可将其与DataWindow 配合使用, 一个提供信息的分类体系,一个提供具体信息,达到珠连碧合的奇妙效果。它特别适用于多级信息的分类检索, 是多级菜单所无法比似的,它的表现形式深受程序设计人员和广大用户的喜爱,在许多应用软件中都能看到她的英姿。 在PowerBuilder下,TreeView 控件的应用较其它控件要复杂得多,刚接触它时往往有些不知所措。但如果将它的机理搞清楚,掌握它也不是很难的事。下面我结合长白公司图书分类检索的实例,把TreeView 控 件的使用方...
此文章献给想美化程序界面的pb程序员。一.载入位图资源并创建PatternBrush作为填充背景图的刷子long ll_bmplong h_deskdclong ll_memDcif ih_BkBrush>0 thendeleteObject(ih_BkBrush)ih_BkBrush=0end ifh_deskdc =GetDc(0)//载入图片ll_bmp = LoadImage(0,BMPBkName,0,0,0,16)//失败if ll_bmp = 0 then releaseDc(0,h_deskdc)return end ifll_memDC = CreateCompatibleDC(h_deskdc)//选入到场景SelectObject(ll_memDC,ll_bmp)//创建绘制背景图的刷子ih_BkBrush =CreatePatternBrush(ll_bmp)//释放不需要的资源releaseDc(0,h_deskdc)Deleteobject(ll_bmp)DeleteDc(ll_memDC)二.给listview加背景图1.得...
---- 随着资源共享和实时通讯的需要,很多计算机应用程序早已甩开单兵作战的模式,转入联合行动。 ---- 网络在计算机世界里,越来越发挥着举足轻重的作用。在WINDOWS应用程序中,处理实时通讯最常用到的还是MICROSOFT公司提供的WINSOCK控件。许多资料都细述了WINSOCK在VB中的使用方法,就连WINDOWS本身提供的hlp文件也是针对VB而写的。笔者因为实际应用的需要,琢磨出了WINSOCK控件在PB中的应用方法。好东西不敢独自享用,拿出来与大家共享。 ---- 下面以一个简单程序为例,说明WINSOCK控件在PB中的使用: ---- 一、在窗口中添加WINSOCK控件: ---- 在应用中新开一个窗口,在...
PB中使用Microsoft Web Browser控件步骤:在pb的某窗口中加入OLE对象,选择Insert control(插入控件),然后选中"Microsoft WEB 浏览器",(随系统而定的版本),就可以在这个窗口直接使用IE浏览器控件了。常用函数:(对这个ole控件取名叫ole_web)ole_web.object.navigate(string ls_url) file://浏览某url,譬如:ole_web.object.navigate('http://liulee.myrice.com') 就是浏览 http://liulee.myrice.com 页面,当然支持本地文件,也支持本地图片文件的浏览,如jpeg,jpg,gif,png等等,如果是不支持的文件,则直接弹出选择打开文件对话框,和ie一模一样。ole_web.object.goback() file://回退(如果没有内容可退,则会弹出错...
这两天看到有朋友问起html内的各种控件怎么用script进行操作,现在自己也总结一下。因为项目原因,很多程序都是用VBScript写的,感兴趣的朋友可以改写成JavaScript,到时候别忘了共享一下啊,活活。OK,切入主题,现介绍一下:今天介绍使用VBScript判断复选框的选中数量和被选中的复选框的值。在生成某个一览表时,比如一个订货单一览表,每条订货单记录前面可能会放置一个复选框,以提供批量删除,发行等功能。一般每个复选框的值也就是后面对应记录的主键的值,如订货单编号。在执行删除、发行等功能时,就要知道选了几个复选框,这些复选框分别对应什么值,下面就说一下方法。程序分为三部分:一、判断被选定的CheckBox是一个还是...
1判断select选项中 是否存在Value="paraValue"的Item 2向select选项中 加入一个Item 3从select选项中 删除一个Item 4删除select中选中的项 5修改select选项中 value="paraValue"的text为"paraText" 6设置select中text="paraText"的第一个Item为选中 7设置select中value="paraValue"的Item为选中 8得到select的当前选中项的value 9得到select的当前选中项的text 10得到select的当前选中项的Index 11清空select的项 js 代码// 1.判断select选项中 是否存在Value="paraValue"的Item function jsSelectIsExitItem(objSelect, objItemValue) { var isExit = fals...
样式代码: 复制代码 代码如下:#div_maskContainer { display: none; } /*蒙版样式*/ #div_Mask{ z-index:1000; filter:alpha(opacity=40); position: absolute; left:0px; top:0px; background-color: #D4D0C8; } /*显示信息样式*/ #div_loading{ width:300px;height: 60px;position: absolute; border: 1px outset #B4E0F2; padding-top: 40px; text-align: center; background-color: #CCE9F9; z-index: 10000; filter:alpha(opacity=100);!important } js控件代码: 复制代码 代码如下:/** 蒙版信息控件 用法: 1.引用 mask.css 2.引用 mask.js 3.调用方法 var obj=new MaskControl(); //显示蒙版提示信息 obj.show("显示...