Visual Graph图形开发技术入门(二)
Visual Graph图形开发技术入门(二)
Visual Graph的绘图命令典型地反映了设计者一贯的设计作风,就是用最简便的办法实现通用、灵活的功能。
基本的绘图元素是文字(Text)、形状(Shape)、线条(Line),如果设计者不假思索,很容易设计出这样的命令:
NewText、NewShape、NewLine等等。
但是还有图元,数不清类别的图元怎么办?Visual Graph的图元可不是简单的图形组合,而是真正意义上的图元,就像我们常常使用的刀闸、开关、温度计、滚动条、列表框、日历、时钟、曲线图、饼图、棒图等等,这些图元是用户自行设计开发的,所以,绘制图元的命令中就应该带一个参数,那就是图元的类型名(ClassName)。
但是这就和前面那三条命令的参数不一致了。因为三种基本图形的创建并不需要一个类型名参数。你看,本来是绘制图形这么简单的一件事情,却要做出四个命令来,太浪费,不划算。
因此,Visual Graph只提供了一个命令,叫做NewUnit,Unit表示图形单元的意思。
NewUnit的参数是ClassName,如果创建文字单元,那么参数就是“Text”,如果创建形状单元,那么参数是“Shape”,如果创建线条单元,那么参数就是“Line”,如果创建图元,那么参数就是各种不同的类别字符串,诸如“刀闸”、“开关”、“温度计”等等。这样,用一个命令就把四种图形统一了。
还有一个问题,Visual Graph如何识别你输入的图元参数“刀闸”呢?它怎么知道刀闸应该怎么画呢?
前面我们说了,Visual Graph设计了一种非常优秀的图形文件格式,使得图形文件同时也可以被看作是图库文件,不用单独设计载入图库的命令,可以用同一条命令打开,也就是Design(或者Run)。
现在,关键是让Visual Graph知道,上面参数中的“刀闸”在哪个图库中,因为可能你同时打开了多个图形文件,而它们里面都有“刀闸”。
因此,为了区分哪个图形文件将被视为当前图库,有一个布尔型的Library属性,实际是一个状态值,当指定某个图形文件是图库的时候,就设Library=true,同时其他控件的Library属性自动归为false。因为为了避免图元重复,系统规定当前只能有一个图元库。
当你开始画“刀闸”这个图元的时候,Visual Graph从现在图库中寻找名叫“刀闸”的页面,并且把页面看作图元(参见入门之一)拷贝进来。
问题点数:0、回复次数:0Top




