快速业务通道

ASP.NET中Visio图形的控制与数据的动态显示

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-11

背景: 在实现应用开发中, 存在这样一种需求, 在一张图中动态显示图中图元的数据并控制图元的显示方式。比如一张电气接线图, 需要动态显示各个开关的状态及各个电气设备的参数。

问题: 如何以Web方式满足这样一个需求? 解决方案: 用Visio绘制图形, 在ASP.NET中调用Visio提供的编程接口去控制Visio图中的图元,并转换成Web上可以显示的图像格式。对于每个要动态显示数据的图形, 定义一个自定义属性标识它,比如:TagNum, 然后在程序中根据TagNum的值从数据库中读取数据来设置相应图形的数据。 参考资源:  Visio 2003 SDK 示例代码: 需要添加对Microsoft Visio 11.0 Type Library的引用(COM组件)。代码如下:      using Microsoft.Office.Interop.Visio; private void Button1_Click(object sender, System.EventArgs e)          {               Document doc=null;               Cell cell=null;               ApplicationClass app=new ApplicationClass();//运行Visio应用程序               string CurrentPath=MapPath(".");               doc=app.Documents.OpenEx(CurrentPath+"\\bin\\test2.vsd",(short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenCopy);//打开一个visio文件               const string CUST_PROP_PREFIX = "Prop."; //自定义属性前缀               try                                    for(int i=1;i<=doc.Pages[1].Shapes.Count;i++)                    {                         doc.Pages[1].Shapes[i].Rotate90();//将图形旋转90度                        doc.Pages[1].Shapes[i].Text="hello";//设置图形的文本                         if(doc.Pages[1].Shapes[i].get_CellExists("TagNum",(short)Microsoft.Office.Interop.Visio.VisExistsFlags.visExistsAnywhere)!=0)//检查定制是否存在指定定制属性                        {                        

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号