2008年5月28日

C#进行Visio二次开发之鸡毛蒜皮(一)

摘要: 本文主要分享一些在Visio二次开发中碰到的各种小问题及其解决方法: 1. 为图元设置颜色 在一些分析中,如电气线路分析中,需要根据不同的状态改变图元的颜色,那么如何改变指定图元的设备颜色呢? 2. 获取图元设备的连接关系 每个设备Shape都有一个Connects和FromConnects集合,该集合是Connect对象集合,每个Connect有ToSheet和FromSheet属性,分别是指向一个Shape对象,我们如果要获取设备的关联关系,就是需要判断这些Connect的ToSheet和FromSheet属性。 3. 获取图元的属性集合 我们知道,每个图元Shape甚至Page对象都有很多自定义属性,你可以通过在Visio的开发模式中查看ShapeSheet查看到。而所有这些属性中,每行又代表一个属性的各种定义信息,如Label是什么,Prompt(提示)是什么,Value(值)是什么,Type(类型)是什么,这就有点类似于我们在数据库定义一个字段,需要指定字段的名称,类型等等,那如果我们需要把这些信息保存下来,我们该如何获取呢? 阅读全文

posted @ 2008-05-28 22:28 伍华聪 阅读(9868) 评论(9) 推荐(2) 编辑

C#进行Visio二次开发之判断图纸是否有设备

摘要: 判断Visio图纸上是否图纸有设备(存在图元), 有两种方法,一种是通过Window对象的SelectAll方法,在判断选择的集合是否不为空即可,另外一种方法是判断页面对象Page的Shapes对象集合是否大于0即可. 两种方式具体如何实现, 并存在那些具体的差别? 阅读全文

posted @ 2008-05-28 20:38 伍华聪 阅读(4261) 评论(0) 推荐(0) 编辑

C#进行Visio二次开发之图纸打印

摘要: 几种打印模式: Visio的二次开发中,我们往往需要打印文档,这也是正常不过的需求,Visio的Document对象提供了下面几种打印模式: Visio的Picture属性及转换: Visio文档打印的时候,有时候需要预览下内容,那如何实现呢,其实也很简单,因为你打印的Page对象有一个Picture的属性,可以用来显示的(Window.Selection也有一个这么对象,当然就可以用来预览选择的内容了)。不过到这里别高兴太早,因为Picture对象是IPictureDisp类型的,你需要转换为PicutureBox对象所能识别的Image类型,不过这个东西不是那么容易转换的,呵呵。费了九牛二虎之力,终于查到了转换的方法,下面介绍下吧,以免大家走弯路。 打印页边距设置问题: 再说另外一个问题,不知道大家有没有注意到,页面设置对话框中,页边距中的值默认是10,你确定之后,值就变小了,再打开确定,值变得更小了,这是因为页边距值的转换出了问题,要正常工作,需要做一些转换的工作。下面贴出代码,一目了然。 阅读全文

posted @ 2008-05-28 20:38 伍华聪 阅读(5267) 评论(1) 推荐(0) 编辑

导航