摘要:还有一个很好的方法,就是直接发送命令 #region 向Visio工作区发送Visio命令 [StructLayout(LayoutKind.Sequential)] public struct OLECMDTEXT { public UInt32 cmdtextf; public UInt32 cwActual; public UInt32 cwBuf; public ...
阅读全文
摘要:单靠这些对象的一些属性和方法,一般来说是很难处理一些细节上的东西。比如说:要动态的为一个shape添加连接点,根本是找不到 方法可以利用的。这个时候,操作ShapeSheet就是关键了。 不知道大家用过ShapeSheet没有,在visio下,选中某个shape,然后在点窗口->显示ShapeSheet,就可以看到好多关于这个shape 的属性,改变shape的一些表现时,这些值会作相应变化。(v...
阅读全文
摘要:这个控件直接暴露出来的事件并不是很多,但是也可以完成大部分的功能了。我没有用过的就不敢乱说了,下面说几个我用到的事件。 BeforeSelectionDelete:在Visio中,Selection是一个选中shape的集合。这个事件在删除前发生。这里因为我对于每个图形上的Shape都有关联的一些属性。所以为了实现Undo的时候恢复原来的内容,必须要在删除前做保留。比如:if(this.visCl...
阅读全文
摘要:不熟悉Visio的人应该先看看visio究竟是个什么东西,visio这个东西还是很不错的软件。在安装完Visio之后,就可以使用这个control了,在vs.net环境中,在工具箱上添加Microsoft Visio 11.0 Drawing Control的COM 组件,然后就可以往Form中拖了。(这个时候引用中会自动多了AxVisOcx, VisOcx 和Visio的引用) 这里要使用到两个...
阅读全文
摘要:一直做一个项目,其中的一部分使用到了Visio 2003的Drawing Control。项目快要结束了,用Visio的控件有很多的方便,也发现了好多的问题。为了不会今后慢慢的忘却了这些细节,希望能完成这个开发的系列文章,如果将来有人能借鉴到我的一些经验或者能解决我遇到的一些问题,就很是满足了。 如果用过Visio以前的版本开发程序的人可能发现了Visio 2003与Visio 2002之间的对象...
阅读全文