世界级甘特图大师VARCHART XGantt,教你在Visual Studio 6.0或7.0中插入VARCHART ActiveX

VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)VARCHART XGantt可以快速、简单地集成到您的应用程序中,帮助您识别性能瓶颈、避免延迟以及高效利用资源,使复杂数据变得更加容易理解。

本篇文章主要介绍VARCHART XGantt_v5.1用户手册中的内容——如何在在Visual Studio 6.0或7.0中插入VARCHART ActiveX,接下来就是具体的操作步骤了~

要在MFC项目中插入VARCHART ActiveX控件,请按以下步骤操作:

Visual Studio 6.0:

在“项目”菜单中,选择“添加到项目...”项,然后选择“子项目组件和控件”。在出现的对话框中,从已注册的控件中选择NETRONIC VARCHART ActiveX,然后单击“插入”按钮。控制问题后出现一个对话框。在列表框中,取消选择向导创建的除第一个类之外的所有MFC包装(这是不可能的)。单击“确定”按钮。然后单击“关闭”按钮以关闭对话框。

Visual Studio 7.0:

在对话框资源的上下文菜单中,选择“插入ActiveX控件...”项,然后将选定的ActiveX控件传输到对话框中。然后通过上下文菜单(菜单项Insert Variable ...)手动或在向导的帮助下,在DoDataExchange方法中创建实例变量和DDX_CONTROL条目。在后一种情况下,还将自动创建MFC包装器。或者,您可以在ClassView中创建MFC包装器(包括子对象的包装器),但这样会丢失Enum定义。

因此,这两种开发环境都提供了自动创建MFC包装器。在这些包装器的帮助下,您可以像使用普通MFC对象一样使用ActiveX控件的方法和属性。如果没有包装器,您将不得不更深入地研究OLE约定。但是,创建的包装器并不令人满意:

  • 自动生成的文件不包含Enum定义(仅限Visual Studio 6.0)。

  • 所有子类都存储在单独的文件中。这使得无法同时使用不同的VARCHART ActiveX控件(Visual Studio 6.0)。在Visual Studio 7.0中,不生成子类;因此它们根本无法使用。

  • 对于控件的API更新,只能间接地更新包装器。此外,Visual Studio 7.0使用与旧版本不同的名称约定。这将使旧项目的更改成为必要(新名称前缀:get_和set_而不是get和set)。

  • 如果要在一个项目中使用多个VARCHART ActiveX控件,则会发生与子对象的名称冲突。

因此,NETRONIC Software GmbH提供了一对自己的MFC包装文件:xgantt.hxgantt.cpp。此文件存储在VARCHART ActiveX控件的安装目录的子目录MFC中。它包含所有包装器和有用的Enum定义。

所有定义都已放入命名空间中,以便您可以在一个项目中使用多个VARCHART ActiveX控件,而不会出现子对象的名称冲突。

从项目中删除自动创建的包装器,将cpp文件添加到项目中,然后将头文件导入对话框类。

如果在类中只使用一个控件,则下面的代码行就足够了:

示例代码

#include "xgantt.h"
using namespace XGantt;

如果在一个类中使用多个VARCHART ActiveX控件,则必须将命名空间放在至少两个控件(例如CVcNode或CVcTitle)中出现的每个子对象的前面。以下示例演示了标题对象的变量声明:

示例代码

XGantt::CVcTitle title = VcGantt1.GetTitle();

在事件过程而不是对象中,只传递LPDISPATCH指针。这些指针可以通过对象的相应的Attach方法连接到对象。然后您不应该忘记在对象使用结束时输入Detach()

如果您已使用生成的文件进行项目,更改应该不难,因为NETRONIC使用Visual Studio 6.0生成的文件作为基础,它们应该是兼容的。唯一的区别是使用命名空间来使子对象的名称更清晰。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值