一种在二维平面中动态调整矩形对象位置的方法和系统的制作方法

文档序号:6612899阅读:282来源:国知局
专利名称:一种在二维平面中动态调整矩形对象位置的方法和系统的制作方法
技术领域
本发明涉及人机界面技术领域,特别是涉及一种在二维平面中动态调整矩 形对象位置的方法和系统。
背景技术
在人和机器的互动过程(Human Machine Interaction )中,有一个层面, 即我们所说的界面(interface )。人机界面是一个让用户和计算机沟通时所需 要的沟通环境。在通常人机界面的二维平面中,为了确定其中的矩形对象在其中的位置, 一般会采用以下的几种方案 方案1首先找到当前对象所在的容器,然后在其中确定一xy坐标系,然后用一 个坐标(x, y)的值描述该矩形对象在该容器中的位置,并用高h、宽w等值 表示该矩形对象本身的具体大小,从而确定当前对象在二维平面中的具体位 置。习惯上将这种方式称之为"左、上、高、宽"的绝对定位方式。方案2类似于上面的方案,但是其直接采用 一对坐标值来描述该矩形对象的具体 位置,即(xl,yl)-(x2,y2),习惯上将这种方式称之为"左上右下"的绝对定 位方式。方案3采用网格定位,例如,HTML中的〈Table〉就是用于通过网格的方式布局Web 界面的元素。上述各种定位方式应该说各有所长,在不同的应用场景,能发4军各自的长 处。例如,绝对定位具有符合习惯、简单易用等优点;但是绝对定位做不到运 行时动态变化。当该矩形对象所在的界面的显示大小发生了变化(如,由于分 辨率的调整),或者待打印的纸张大小发生了变化,则该矩形对象在该界面中的位置应该动态的发生变化,但是上述采用绝对定位方式的方案1和方案2 不能动态变化,难以实现动态效果。
而对于方案3来说,虽然可以实现矩形对象位置的动态调整,但是实现起 来比较复杂。例如,采用网格定位方式,则主要是通过将网页内容分成若干个区,然后将相应的内容分别填入不同的表格;并且,如果存在网格间的嵌套时, 还会影响针对该网页的处理速度(如下载)。总之,需要本领域技术人员迫切解决的一个技术问题就是提出一种能够 满足动态调整的效果,又较网格定位方式而言更为简单的,在二维平面中动态 调整矩形对象位置的解决方案。

发明内容
本发明所要解决的技术问题是提供一种在二维平面中动态调整矩形对象 位置的方法和系统,能够非常简单的实现对矩形对象的动态布局,使得各个对 象在容器内的位置能够随着整个界面的变化而动态调整。为了解决上述问题,本发明公开了一种动态调整矩形对象位置的方法,具 体可以包括预置根对象下的各矩形对象四个边的属性值,其中,每个边的属 性包括相对于该边的基准对象的基准边,以及该边与基准边之间的偏移值;依 据外界因素的变化情况,确定根对象的具体位置和大小;依据预置规则当前 边的位置等于所述基准对象的基准边加上所述偏移值,依次解析各个矩形对象 的每个边的属性,得到确定的数值,完成对根对象下的各矩形对象的动态布局。优选的,所述的方法还可以包括当解析到某一条边,其基准对象的基准 边的值未定,则对其暂緩执行,继续执行对下一条边的解析。优选的,所述基准对象包括父对象、兄弟对象或者该对象本身。优选的,所述的方法还可以包括计算所设定的各个边的属性值,如果符 合过滤条件,则删除相应的属性值或者向用户报警。其中,所述过滤条件可以 包括边与边之间存在相互依赖关系;或者, 一个矩形对象的左边、上边的基准边分别是父对象的左边、上边; 其右边、下边的基准边分别是其自身的左边、上边;或者, 一个矩形对象的左边、右边的基准边都是父对象的左边;其上边、 下边的基准边都是父对象的上边。优选的,该方法中所述边的属性还包括偏移值参考边,所述偏移值由所述
偏移值参考边计算得到;和/或,所述基准边为虚拟边。依据本发明的另一实施例,公开了一种动态调整矩形对象位置的系统,可以包括属性设置组件,用于针对根对象下的各矩形对象四个边的属性值的设定; 其中,每个边的属性包括相对于该边的基准对象的基准边,以及该边与基准边 之间的偏移值;根对象确定单元,用于依据外界因素的变化情况,确定根对象的具体位置 和大小;解析单元,用于依据预置规则当前边的位置等于所述基准对象的基准边 加上所述偏移值,依次解析各个矩形对象的每个边的属性,得到确定的数值;布局单元,用于依据所解析得到的数值完成对根对象下的各矩形对象的动 态布局。优选的,当所述解析单元解析到某一条边,其基准对象的基准边的值未定, 则对其暂緩执行,继续执行对下一条边的解析。优选的,所述基准对象包括父对象、兄弟对象或者该对象本身。优选的,所述的系统还可以包括查错单元,用于计算所设定的各个边的 属性值,如果符合过滤条件,则删除相应的属性值或者向用户报警。其中,所 述过滤条件可以包括边与边之间存在相互依赖关系;或者, 一个矩形对象的左边、上边的基准边分别是父对象的左边、上边; 其右边、下边的基准边分别是其自身的左边、上边;或者, 一个矩形对象的左边、右边的基准边都是父对象的左边;其上边、 下边的基准边都是父对象的上边。优选的,所述边的属性还包括偏移值参考边,所述偏移值由所述偏移值参 考边计算得到;和/或,所述基准边为虚拟边。与现有技术相比,本发明具有以下优点本发明提出通过定义四条边的相对位置来布局对象,达到运行时动态变化 的效果;表达式灵活性强,能满足任何合理的逻辑,同时又兼容绝对定位的布
局方式。并且,实现逻辑清晰而不复杂,在各种应用场景的设计期都便于使用 者学习和掌握。


图1是本发明一种动态调整矩形对象位置的方法实施例的步骤流程图;图2是打印模板中的动态调整矩形对象位置实施例的设计示意图; 图3是图2实施例中针对16开纸张而动态调整后的布局示意图; 图4是图2实施例中针对A4纸张而动态调整后的布局示意图; 图5是本发明一种动态调整矩形对象位置的系统实施例的结构框图; 图6是一种属性值设定用户界面的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。本发明可用于众多通用或专用的计算系统环境或配置中。例如个人计算 机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基 于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、 大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例 如程序模块。 一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本 发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来 执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地 和远程计算机存储介质中。参照图l,示出了本发明一种动态调整矩形对象位置的方法实施例,包括 以下步骤步骤IOI、预置根对象下的各矩形对象四个边的属性值,其中,每个边的 属性包括相对于该边的基准对象的基准边,以及该边与基准边之间的偏移值; 步骤102、依据外界因素的变化情况,确定根对象的具体位置和大小;
步骤103、依据预置规则当前边的位置等于所述基准对象的基准边加上 所述偏移值,依次解析各个矩形对象的每个边的属性,得到确定的数值,完成 对;f艮对象下的各矩形对象的动态布局。本发明所述的动态调整主要针对的是当外界因素发生变化时,导致整个 界面中的对象布局发生变化,例如,当界面显示需要在多个复杂的显示环境中 运行时,所述的复杂的显示环境可以包括4: 3屏幕分辨率家族,16: 9/16: 10宽屏分辨率家族、非普通工业标准的特种屏幕分辨率、非最大化状态的用 户自定义窗体分辨率等等。所述的外界因素的变化还可以包括纸张大小的变化 而影响打印内容的情况。在步骤102中,由于外界因素的种类非常多,并且依据外界因素的变化而 确定根对象位置和大小的过程,在现有技术中已经应用,即现有技术采用的定 位方式也需要首先确定当外界因素变化时根对象的位置和大小,所以在此不再 对如何确定根对象的位置大小进行详述。实施例1中所述的对象允许嵌套,也就是说一个对象可能是一个容器,它 可以有子对象。容器相对于其子对象,称为父对象。处在同一容器中的对象, 相互称为兄弟对象。最顶层的对象称为根对象。容器在现实环境中,有许多物体可以参照,比如办公室、城市、村庄和社 会等,其中包含了许多其它的、各种各样的东西,被容器包容的称之为对象。 对象在容器内有一定的关联,也可能没有,但是容器内的对象需要共同遵守容 器的规则。由于容器和对象的概念属于本领域技术人员所公知的,所以在此不 再详述。每个矩形对象都有上、下、左、右四条边,通过确定这四条边的位置,可 以确定一个对象的位置。这四边可以分为水平和垂直二个方向,显然,左、右 边是水平方向,上、下边是垂直方向。本发明就是依据矩形对象的四边而进行 定位的,即分别对一个矩形对象的四个边的位置进行确定,乂人而确定该矩形对 象在新的外界情况下的位置。依次对当前界面中的各个矩形对象的位置确定, 而实现对当前界面的动态布局。需要说明的是,由于矩形对象可以认为任意对 象的外包范围,例如各种形状的控件或者窗口等,所以本发明实际上几乎可以 应用于任意的对象。
对于一个矩形对象而言,其水平方向的某一边,可以相对于父对象或兄弟 对象的水平方向的一条边,加上一个偏移量,来确定一个值,从而确定自身的位置。它还可以相对于本身在水平方向的另一边来定位。用公式描述如下 此边=〖其父戚兄弟对泉.某边7+偏移量 戚此边=^对彖本身.另一边7+偏移量其中的[其父或兄弟对象'某边]就是需要确定位置的边的基准对象的基准 边。需要说明的是,其中的偏移量可以是正数或负数。当目标边位于参照边的左侧时,偏移量为负数;当目标边位于参照边的右侧时,偏移量为正数。偏移 量也可以是O,此时二边延长线重合。垂直方向同理。只是当目标边位于参照 边的上方时,偏移量为负数;当目标边位于参照边的下方时,偏移量为正数。对于多个矩形对象的层层嵌套而言, 一个矩形对象的四个边的基准对象的 基准边可以选择父对象、兄弟对象或者该对象本身作为基准对象,进而选择相 应的水平或者垂直方向的边作为基准边。需要说明的是,针对一个矩形对象的 基准对象也可以为更远关系的对象,例如孙对象或者父对象的父对象等等,本 领域技术人员根据实际需要进行设定即可,本发明并不需要对此加以限定。因此,针对上述的分析,可以引出本发明更为一般的公式边=/"初^/"对泉. 一《对边7+偏移量下面通过一些简单的例子对上述过程进行描述。假定给每一边定义一个名字,分别为左边,left;右边,right;上边, top;下边,bottom。所有的每个对象也都有一个唯一标识——ID。这样,对 任一个对象,就可以用四个表达式来描述它的位置。例如,对象objl,它的父容器parentl。 objl在水平方向上"充满"了 容器,在垂直方向上,距容器上边10个单位长度,高度为20。对objl的位 置可描述为left = [parentl. left] (+0可省略)right = [parentl.right]top = [parentl. top]+10bottom = [objl. top]+20
再如,对象obj2,其兄弟对象obj3。 obj2紧挨在obj3的右边,与obj3 高度相同,宽为100。对obj2的位置可描述为 left = [obj3. right] right = [obj2. left]+100 top = [obj3. top] bottom = [obj3. bottom]对于少数比较特殊的情况,可以支持自定义表达式。如上例中,obj2紧 挨在obj3的右边,高度与obj3相同,宽也与obj3相同。那么,针对宽度与 obj3相同这一变化,其右边表达式可以改为right = [obj2. left〗+ ([obj3. right]-[obj3. left])上面的仅仅是举例,实际上,支持自定义表达式核心之一在于,所述边的 属性还包括偏移值参考边,所述偏移值是由所述偏移值参考边计算得到的,而 不是由用户直接设定的数值。更进一步的,还可以延伸出居中对齐来。例如, 一个宽度为200的对象 obj4,在容器parent2中水平居中。其左右边表达式为left = ([parent2. right]-[parent2. lef t〗)/2 — 200/2 right = [obj4. left]+200上面的仅仅是举例,实际上,其蕴含的核心之一在于,所述基准边为虚拟 边,即并不是某个对象拥有的真实边,而是通过计算得到的虚拟边。当然,上述的两种表达式也可以组合应用,即偏移值是计算得到的,而基 准边也是通过计算得到的虚拟边。在执行时,首先必须依据外界因素的变化情况,确定根对象的大小,然后 一层层往下解析各个对象的四边表达式,得到确定的数值,以实现对各个对象 的布局。当根对象受到外界因素的影响,大小发生变化时,重新解析设计信息, 使其重新布局。这就是运行时的动态效果。所述的四边表达式可以在属性值设 定之后就生成,也可以在解析过程中实时生成。
在对四边表达式的解析中,如果解析到某一条边,其基准边尚不确定(即 不能得到其数值),则可以对其暂緩执行,先执行对下一边的解析。当然,为 了避免解析过程中死循环的出现,则在用户设定完各对象四个边的属性值之 后,还可以包括查错步骤,即计算所设定的各个边的属性值,如果符合过滤条 件,则删除相应的属性值或者向用户报警,要求用户重新设定。所述过滤条件由本领域技术人员依据实际需要进行设定即可,下面举出一 些可能用到的过滤条件进行筒单说明。例如,过滤条件可以为边与边之间存在相互依赖关系;或者, 一个矩形对象的左边、上边的基准边分别是父对象的 左边、上边;其右边、下边的基准边分别是其自身的左边、上边;或者, 一个 矩形对象的左边、右边的基准边都是父对象的左边;其上边、下边的基准边都 是父对象的上边。当然,上述的过滤条件也可以合在一起,作为一个复杂条件。其中,A依赖于B, B依赖于A,这就是一种相互依赖关系。更为一般的, 还可能是A —B — C……—A,由于具有互相依赖关系,所以不能计算得到数值, 因此,这种属性值的设定就需要加以避免。当然,如果在具体解析过程中,才发现这样的相互依赖关系的存在,则可 以直接做忽略处理,避免死循环。进一步需要说明的是,实际应用中,并不是仅仅完成对象位置的动态输入 就可以完成所有功能了,而通常在特定的应用中,四边属性值的设定或者表达 式的建立都仅仅是所需完成的应用的一部分,因此,本发明还可以包括将设置 的属性值或者表达式存储至一定格式的模板文件中,以结合其他的功能应用至 所述模板中,以及将该模板读取成对象模型而供执行期使用。当然,也可以将 该模板读取出来用于再次修改。以上分析的四边定位布局策略,其实是兼容一些绝对定位的。对于一个对 象,下面^^式用parent表示其父对象,用self对于其自身。left=[parent. left]+x ——左边相对于父的左边,偏移x。 right=[self. left]+w ——右边相对自身左边,偏移w, w为宽度。 top= [parent, top]+y ——上边一目乂于于父的上边,{扁移y。 bottom= [self, top]+h ——下边相对自身上边,偏移h, h为高度。
再例如,下面这组四边的表达式left= [parent, left]+xl right=[ parent, left]+x2 top= [parent. top]+yl bottom-[ parent, top]+y2即成为(xl, yl) — (x2, y2)的左上、右下二点定位了 。下面以 一个具体的打印纸张发生变化后,导致的动态调整过程进行详细说明。以图2为例, 一个打印的模板。容器为P,对应纸张;对象A、 B、 C同处 在P中,A对应一块数据显示的区域,B、 C对应二块例如日期、页码之类的数 据,分别左、右对齐。目标是当纸张改变时,模板不需要调整,自动适应纸张。 其中A、 B、 C、 P的四边分别用left、 right、 t(3p、 bottom加以表示。设计时,各对象的四边表达式如下A. left = [P. left〗+10A. right = [P. right]-lOA. top = [P. top]+10A. bottom = [P. bottom]—25B. left = [A. left]B. right = [B. left]+40B. top = [A. bottom] +5B. bottom = [P. bottom]-10C. left = [C. right]-40 C. right = [A. right] C. top = [A. bottom]+5 C. bottom = [P. bottom]—10
当用16开纸打印时,纸张尺寸为184mm*260mm (为简单,忽略边距,直 接使用此尺寸),执行过程就是计算得到各个对象的四边的值 A. left = [P. left]+10 = 0 + 10 = 10 A. right = [P. right]-10 = 184 - 10 = 174 A, top = [P. top]十lO = 0 + 10 = 10A. bottom = [P. bottom]-25 = 260 — 25 = 235B. left = [A. left] = 10B, right = [B. left]+40 = 10 + 40 = 50 B. top = [A. bottom]+5 = 235 + 5 = 240B. bottom = [P. bottom]-lO = 260 — 10 = 250C. left = [C. right] -40 = (延迟至[C. right]确定后)-40 = 174 - 40 =134C. right = [A. right] = 174C. top = [A. bottom]+5 = 235 + 5 = 240C. bottom = [P. bottom]-lO = 260 — 10 = 250这样,所有对象的四边位置就确定了,参照图3,是针对16开纸张而动 态调整后的布局示意图。换成A4纸同理,在此就不详细介绍,参照图4,是针对A4纸张而动态调 整后的布局示意图。如果需要转换成(x, y, w, h),就是x = lefty : topwidth = right - left height = bottom - top当然,更为谨慎的处理可能是由于高和宽一定是Q或正数,所以需要确 定左边和右边的值的关系。例如x = min(left, right) //获取其中較小的一个〃w = abs (right - left) 〃荻取绝对值〃或X = leftw = ((right — left < 0) 0 : (right - left)) 〃右边的值小亍i边时,宽產为0f确保^扇数人否厕初減得到宽產〃 等等。参照图5,示出了一种动态调整矩形对象位置的系统实施例,包括 属性设置组件501,用于针对根对象下的各矩形对象四个边的属性值的设 定;其中,每个边的属性包括相对于该边的基准对象的基准边,以及该边与基 准边之间的偏移值; 一般的,所述基准对象包括父对象、兄弟对象或者该对象 本身;根对象确定单元502,用于依据外界因素的变化情况,确定根对象的具体 位置和大小;解析单元503,用于依据预置规则当前边的位置等于所述基准对象的基 准边加上所述偏移值,依次解析各个矩形对象的每个边的属性,得到确定的数 值;布局单元504,用于依据所解析得到的数值完成对根对象下的各矩形对象 的动态布局。在本发明中,"组件"、"装置"、"系统"等等指应用于计算机的相关实体, 如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如, 组件可以、但不限于是运行于处理器的过程、处理器、对象、可执行组件、 执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程 序、服务器都可以是组件。 一个或多个组件可在执行的过程和/或线程中, 并且组件可以在一 台计算机上本地化和/或分布在两台或多台计算机之间, 并可以由各种计算机可读介质运行。组件还可以根据具有一个或多个数据 包的信号,例如,来自一个与本地系统、分布式系统中另一组件交互的, 和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/ 或远程过程来进行通信。对于属性设置组件501,可以通过各种方式实现和用户的交互,例如,提 供一个文本输入框给用户以直接录入结合有属性值的表达式。当然,优选的, 也可以提供友好的用户界面以方便用户设定属性值,参照图6。对于解析单元503而言,其具体的解析过程可以为先依据设定的各边的 属性值,生成针对各个边的表达式(参见前述的例子),然后通过一公式引擎 完成公式的解析即可。至于具体的公式引擎的技术实现,属于本领域技术人员 的公知技术,例如,电子表格EXCEL中就运用了很复杂的公式引擎,在此本发 明就不详述了。当然,对于解析单元503而言也可以直接依据规则逐步进行解 析。当所述解析单元503解析到某一条边,其基准对象的基准边的值未定,则 对其暂緩执行,继续执行对下一条边的解析。由于针对矩形对象的各个边属性值的设定中,可能存在互相依赖的关系或 者其他不符合要求的关系,所以在本发明另 一优选实施例中,图5所示的实施 例还可以包括查错单元505,用于计算所设定的各个边的属性值,如果符合 过滤条件,则删除相应的属性值或者向用户报警,以方便用户改正。其中,所 述过滤条件可以包括边与边之间存在相互依赖关系;或者, 一个矩形对象的 左边、上边的基准边分别是父对象的左边、上边;其右边、下边的基准边分别 是其自身的左边、上边;或者, 一个矩形对象的左边、右边的基准边都是父对 象的左边;其上边、下边的基准边都是父对象的上边。一^l殳的,所述偏移值可以直接设定为数值;当然,在某些特殊情况下,也 可以采用更为复杂的设定策略,例如所述边的属性还包括偏移值参考边,所 述偏移值由所述偏移值参考边计算得到。在本发明的另一实施例中,所述边的 属性中的基准边还可以为虚拟边,即通过计算得到的边,而并非某个对象的真 实边。优选的,图5所示的实施例还可以包括输入输出模块(I/O)。因为,通常 在特定的应用中,会定义一定格式的模板文件,而四边定位表达式仅仅是模板 中的一部分。1/0模块负责将设计时的状态保存到模板;以及将模板读取成对 象模型供执行期使用(或读取出来再次修改设计)。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的 都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即 可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简 单,相关之处参见方法实施例的部分说明即可。以上对本发明所提供的在二维平面中动态调整矩形对象位置的方法和系了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同 时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用 范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种动态调整矩形对象位置的方法,其特征在于,包括预置根对象下的各矩形对象四个边的属性值,其中,每个边的属性包括相对于该边的基准对象的基准边,以及该边与基准边之间的偏移值;依据外界因素的变化情况,确定根对象的具体位置和大小;依据预置规则当前边的位置等于所述基准对象的基准边加上所述偏移值,依次解析各个矩形对象的每个边的属性,得到确定的数值,完成对根对象下的各矩形对象的动态布局。
2、 如权利要求l所述的方法,其特征在于,还包括 当解析到某一条边,其基准对象的基准边的值未定,则对其暂缓执行,继续执行对下一条边的解析。
3、 如权利要求1所述的方法,其特征在于,所述基准对象包括父对象、 兄弟对象或者该对象本身。
4、 如权利要求l所述的方法,其特征在于,还包括 计算所设定的各个边的属性值,如果符合过滤条件,则删除相应的属性值或者向用户报警。
5、 如权利要求4所述的方法,其特征在于,所述过滤条件包括 边与边之间存在相互依赖关系;或者, 一个矩形对象的左边、上边的基准边分别是父对象的左边、上边; 其右边、下边的基准边分别是其自身的左边、上边;或者, 一个矩形对象的左边、右边的基准边都是父对象的左边;其上边、 下边的基准边都是父对象的上边。
6、 如权利要求l所述的方法,其特征在于,所述边的属性还包括偏移值参考边,所述偏移值由所述偏移值参考边计算 得到;和/或,所述基准边为虚拟边。
7、 一种动态调整矩形对象位置的系统,其特征在于,包括 属性设置组件,用于针对根对象下的各矩形对象四个边的属性值的设定;其中,每个边的属性包括相对于该边的基准对象的基准边,以及该边与基准边 之间的偏移值;根对象确定单元,用于依据外界因素的变化情况,确定根对象的具体位置和大小;解析单元,用于依据预置规则当前边的位置等于所述基准对象的基准边 加上所述偏移值,依次解析各个矩形对象的每个边的属性,得到确定的数值;布局单元,用于依据所解析得到的数值完成对根对象下的各矩形对象的动 态布局。8、 如权利要求7所述的系统,其特征在于当所述解析单元解析到某一条边,其基准对象的基准边的值未定,则对其 暂缓执行,继续执行对下一条边的解析。9、 如权利要求7所述的系统,其特征在于,所述基准对象包括父对象、 兄弟对象或者该对象本身。10、 如权利要求7所述的系统,其特征在于,还包括查错单元,用于计算所设定的各个边的属性值,如果符合过滤条件,则删 除相应的属性值或者向用户报警。11、 如权利要求10所述的系统,其特征在于,所述过滤条件包括 边与边之间存在相互依赖关系;或者, 一个矩形对象的左边、上边的基准边分别是父对象的左边、上边; 其右边、下边的基准边分别是其自身的左边、上边;或者, 一个矩形对象的左边、右边的基准边都是父对象的左边;其上边、 下边的基准边都是父对象的上边。12、 如权利要求7所述的系统,其特征在于,所述边的属性还包括偏移值参考边,所述偏移值由所述偏移值参考边计算 得到;和/或,所述基准边为虚拟边。
全文摘要
本发明提供了一种动态调整矩形对象位置的方法,包括预置根对象下的各矩形对象四个边的属性值,其中,每个边的属性包括相对于该边的基准对象的基准边,以及该边与基准边之间的偏移值;依据外界因素的变化情况,确定根对象的具体位置和大小;依据预置规则当前边的位置等于所述基准对象的基准边加上所述偏移值,依次解析各个矩形对象的每个边的属性,得到确定的数值,完成对根对象下的各矩形对象的动态布局。本发明通过定义四条边的相对位置来布局对象,达到运行时动态变化的效果;表达式灵活性强,能满足任何合理的逻辑,同时又兼容绝对定位的布局方式。并且,实现逻辑清晰而不复杂,在各种应用场景的设计期都便于使用者学习和掌握。
文档编号G06F9/44GK101126982SQ20071016389
公开日2008年2月20日 申请日期2007年10月11日 优先权日2007年10月11日
发明者李馥龙 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1