发布日期 : 12/2/2004 | 更新日期 : 12/2/2004
Mark Bukovec
Empire Down Development
适用于:
Microsoft® Office Visio® 2003
摘要:学习将 Microsoft® Office Visio® 2003 ActiveX® 控件(即 Visio 绘图控件)集成到应用程序中。查看最佳作法以及如何以编程方式使用 Visio 绘图控件。
本页内容
简介
了解 Visio 绘制控件
使用 Visio 绘图控件的场景
设计最佳作法
开始使用
将控件与主机容器相结合
部署
小结
简介
Microsoft® Office Visio® 2003 ActiveX® Control(Visio 绘图控件)通过丰富的 Visio 对象模型,作为可嵌入组件来提供 Visio 应用程序的完整功能。您可以通过宿主应用程序中的事件或代码,以编程方式驱动 Visio 绘图控件。此外,Visio 绘图控件可以在您自己的应用程序用户界面 (UI) 的上下文中为应用程序用户提供图表制作环境。
在本文中,您将学到:
-
Visio 绘图控件的功能和示例使用场景。
-
在 Visio 解决方案中使用 Visio 绘图控件的最佳作法。
-
如 何将 Visio 绘图控件嵌入到各种宿主应用程序中,包括 Microsoft Windows®窗体、Microsoft Visual Basic®6.0 窗体、Microsoft Office 文档以及 Microsoft Internet Explorer。
-
如何使用 Visio 绘图控件 API 的属性。
-
如何将 Visio 文档加载到绘图控件窗口并保存更改。
-
如何获得对 Visio Application 对象的引用,以便以编程方式使用 Visio 文档。
-
如何管理绘图画面的显示。
-
如何将控件与宿主应用程序用户界面相结合。
-
如何利用应用程序部署 Visio 绘图控件。
了解 Visio 绘制控件
Visio 绘图控件将在组件中提供 Visio 应用程序对象模型的功能。Visio 绘图控件可以嵌入使用 Microsoft Visual Studio®.NET 2003、Microsoft Office XP 和 Microsoft Office 2003 容器(如 Microsoft Office Word 2003、Microsoft Internet Explorer 5.0 以及更高版本和其他 Microsoft ActiveX® 控件容器)开发的宿主应用程序中。添加 Visio 绘图控件后,该控件就会为显示形状提供绘图画面。
Visio 绘图控件允许开发人员在另一个应用程序的上下文内提供 Visio 功能。这种新级别的集成允许开发人员完全控制与宿主应用程序相结合的 Visio 用户界面。该新增功能更为强大,而不仅仅是将 Visio 绘图嵌入到 OLE 容器文档(如 Word)中。将 Visio 绘图用作 OLE 对象允许您查看容器应用程序中的关系图、将 OLE 对象链接到实际 Visio 文档以反映更改以及通过从容器文档内激活 Visio 应用程序来编辑 Visio 绘图。
在就地 OLE 激活的情况下,您仍然工作于 Visio 用户界面内。您无法创建自己的 UI。无法通过使用包含应用程序的自动功能来以编程方式访问 Visio 文档。您还会受限于只能使用实现 OLE 容器的应用程序主机,这样就不能使用诸如 .NET Windows 窗体之类的技术。
但是,Visio 绘图控件提供了解决这些情况的新功能,并且允许您开发在以前不可能开发的新 Visio 解决方案,例如本文以下 “使用 Visio 绘图控件的场景” 部分中介绍的那些解决方案。
Visio 绘图控件通过 Visio 产品安装发行。还有一个可用于对 Visio 绘图控件 API 进行托管代码访问的主 interop 程序集。如果要从托管代码使用该控件,则必须安装 Visio 主 interop 程序集。请参阅本文的“部署”部分以获得有关安装 Visio 绘图控件和 Visio 主 interop 程序集的详细信息。
使用 Visio 绘图控件的场景
要演示 Visio 绘图控件的实用性,请考虑以下客户场景。
-
公 司的行政部门为行政助理提供了一个办公空间计划应用程序。Windows 窗体作为绘图控件的宿主,显示代表办公室布局的区域。绘图控件旁边是代表办公室家具的按钮。当行政助理单击一个按钮时,就会在绘图窗体上放置一个形状,然 后他可以在绘图控件上重新定位该形状以查看办公室中的家具布置外观。
Windows 窗体包含一个以 Visual Basic .NET 编写的事件处理程序,它响应添加的新形状并且跟踪家具选择以生成采购定单。通过在绘图控件中删除形状,行政助理可以重新布置和取消家具选择。因为行政助理 是从窗体的 UI 来操纵绘图画面的,所以用户无需熟悉 Visio 应用程序。
-
一个管理团队正致力于制订员 工工作流程图。为了有助于协作,该团队使用了 Microsoft Office SharePoint™ Portal Server,它为团队文档和工具提供了一个集中存储点,以便团队协作和共享文档。经理们并不熟悉绘图工具,并且他们希望在 Microsoft Office Excel 电子表格中输入工作步骤,然后让 Visio 从这些数据中生成流程图绘图。而且,他们希望在同一浏览器页面上查看所有的数据。
要实现这些要求,应用程序开发人员需修改 SharePoint 站点上的团队页面,方法是添加显示用于定义工作步骤的 Excel 电子表格的数据表 Web 部件。然后,开发人员创建一个宿主绘图控件的自定义 Web 部件。开发人员将两个 Web 部件链接在一起,而在绘图控件内部会自动生成源自 Excel 中的工作步骤信息的流程图。如果某位经理想要修改该流程图,她可以编辑数据表 Web 部件中的行,然后刷新该流程图形状以反映所做的更改。该解决方案允许经理们在同一浏览器页面内使用他们最喜好的工具来完成所有的更新操作。
该控件可以让您使用各种主机容器构建如刚才介绍的事件驱动应用程序。您可以将绘图画面组件添加到现有的或规划的应用程序中,而不是构建宿主于 Visio 应用程序用户界面中的解决方案。对于 Visio 绘图控件,应用程序通常会反映如图 1 所示的体系结构。
在应用程序中使用 Visio 绘图控件提供以下优点:
-
V