`
unblue2008
  • 浏览: 12643 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
最近访客 更多访客>>
社区版块
存档分类
最新评论

VC7(VS2003.net)中开发ActiveX控件相关

阅读更多
今天在VC7上开发ActiveX控件,添加函数害的我挣了一下午,现在想想真是怀恋VC6的ClassWizard啊。在网上找了很多资料,也没发现与此相关的,所以就记录下来,仅供参考啊

创建ActiveX工程后,只能靠手动添加函数,这里要注意四个地方都要修改,才能最终达到效果:
1、.h中:加入函数声明
afx_msg short display(LPCTSTR lpszData);

2、.cpp中加入函数映射
BEGIN_DISPATCH_MAP(CtestCtrl, COleControl)
	DISP_FUNCTION_ID(CtestCtrl,"display",2223,display,VT_I2,VTS_BSTR)
END_DISPATCH_MAP()

在此处注意下:DISP_FUNCTION_ID的几个参数:
I、该类的名称
II、类中扩展名同后面的函数名一样,只是多了双引号
III、显示的ID(尽量用大点的,一面和某些ID冲突)
IV、函数名
V、返回值类型:
VI、参数类型
    VT_EMPTY = 0,
    VT_NULL = 1,
    VT_I2 = 2,
    VT_I4 = 3,
    VT_R4 = 4,
    VT_R8 = 5,
    VT_CY = 6,
    VT_DATE = 7,
    VT_BSTR = 8,
    VT_DISPATCH = 9,
    VT_ERROR = 10,
    VT_BOOL = 11,
    VT_VARIANT = 12,
    VT_UNKNOWN = 13,
    VT_DECIMAL = 14,
    VT_I1 = 16,
    VT_UI1 = 17,
    VT_UI2 = 18,
    VT_UI4 = 19,
    VT_I8 = 20,
    VT_UI8 = 21,
    VT_INT = 22,
    VT_UINT = 23,
    VT_VOID = 24,
    VT_HRESULT  = 25,
    VT_PTR = 26,
    VT_SAFEARRAY = 27,
    VT_CARRAY = 28,
    VT_USERDEFINED = 29,
    VT_LPSTR = 30,
    VT_LPWSTR = 31,
    VT_FILETIME = 64,
    VT_BLOB = 65,
    VT_STREAM = 66,
    VT_STORAGE = 67,
    VT_STREAMED_OBJECT = 68,
    VT_STORED_OBJECT = 69,
    VT_BLOB_OBJECT = 70,
    VT_CF = 71,
    VT_CLSID = 72,
    VT_VECTOR = 0x1000,
    VT_ARRAY = 0x2000,
    VT_BYREF = 0x4000,
    VT_RESERVED = 0x8000,
    VT_ILLEGAL = 0xffff,
    VT_ILLEGALMASKED = 0xfff,
    VT_TYPEMASK = 0xfff

VI、参数类型
3、CPP中加入函数实现:
short CtestCtrl::display(LPCTSTR lpszData)
{
   AfxMessageBox(lpszData);
}


4、.idl 文件中还要加相关的接口调度说明
[id(2223)]short display(BSTR lpszData);


这四个地方加好了就完工了~~
分享到:
评论

相关推荐

    VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

    在Visual Studio 2005 (VC2005)中开发MFC ActiveX控件是一个常见且实用的任务,这使得开发人员能够创建可以在Web环境中使用的自定义组件。ActiveX控件是微软提供的一种技术,允许开发者创建能够在多种应用程序和...

    VC 6.0在win7下无法加入ActiveX控件的解决方案

    在Windows 7系统下使用VC 6.0开发程序时,如果使用到ActiveX控件,可能会出现“不支持此接口”的错误信息,导致无法添加ActiveX控件。这种情况下,开发者无法使用ActiveX控件来丰富自己的应用程序。 解决方案 经过...

    VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程.

    在本文中,我们将深入探讨如何使用Visual Studio 2005 (VC2005) 开发MFC ActiveX OCX控件,并将其发布到.NET网站的过程。首先,我们需要了解ActiveX控件在Web环境中的作用,它们允许开发者创建可嵌入网页的组件,...

    VC开发Activex控件教程

    在IT行业中,ActiveX控件是一种在Windows平台上广泛使用的...同时,ActiveX控件的开发经验也会对理解其他组件技术,如.NET Framework中的.NET控件,甚至跨平台的Web组件技术,如JavaScript的Web Components,有所帮助。

    web截图activex控件

    新颖网络截屏插件是一款能够非常方便的将屏幕截屏图片发送到WEB服务器中的轻量级ActiveX控件,它可以非常方便的集成到您的博客,BBS,论坛,OA,或电子商务网站中,带给用户前所未有的用户体验。 同时新颖网络提供了...

    VC编写的card类ActiveX控件,简单易用使用方便。.zip

    在IT行业中,ActiveX控件是一种在Windows操作系统上运行的软件组件,主要用于Web应用程序和桌面应用程序的开发。这个"VC编写的card类ActiveX控件,简单易用使用方便"是一个专门为开发者提供的工具,用于创建具有特定...

    VC编写的card类ActiveX控件,简单易用使用方便 .zip

    标题中的“VC编写的card类ActiveX控件”指的是使用Microsoft Visual C++(简称VC)开发的一个特定类型的软件组件——ActiveX控件。ActiveX是微软提出的一种技术,允许开发者创建可以在不同应用程序间共享的、可交互...

    程序设计:用vc开发activex

    本文将深入探讨如何使用Visual C++(简称VC)作为开发工具来创建和使用ActiveX控件。 一、ActiveX技术基础 ActiveX是微软的一种组件对象模型(Component Object Model,COM),它允许开发者创建可重用的软件组件,...

    VC编写的card类ActiveX控件,简单易用使用方便。.rar

    标题中的“VC编写的card类ActiveX控件”指的是使用Microsoft Visual C++(简称VC)开发的一个基于ActiveX技术的控件,它主要用于创建和管理虚拟卡牌,可能在游戏或者教学软件中应用广泛。ActiveX是微软提出的一种...

    ActiveX控件 ppt

    ActiveX控件是由Microsoft开发的,允许程序员创建可重用的软件组件,这些组件能够执行特定的任务,如浏览网页、播放媒体或展示交互式内容。在PPT中讲解ActiveX控件,通常是为了教育和技术分享目的,帮助用户理解如何...

    VC编写Active控件

    ### 使用VC++开发ActiveX控件 #### 一、引言 在软件开发领域,特别是对于需要跨语言或跨平台使用的组件来说,ActiveX控件(通常以*.ocx文件形式存在)是一种非常实用的技术。它允许开发者创建高度可重用的组件,...

    ActiveX技术综述,VisualC++5.0,C#对ActiveX的支持,用VC5.0开发ActiveX控制,ActiveX控制在WEB上的应用,ActiveXSDK,

    在VC5.0中,开发者可以利用MFC(Microsoft Foundation Classes)库,这是一个面向对象的C++库,简化了ActiveX控件的开发过程。 C#作为.NET框架的一部分,虽然不是原生支持ActiveX,但仍然可以通过COM互操作性来与...

    ActiveX开发人员指南

    3. **ActiveX控件开发**:详细指导如何使用C++或Visual C++(VC)来创建ActiveX控件。这通常涉及编写IDL(Interface Definition Language)文件,使用MFC(Microsoft Foundation Classes)库,以及理解 ATL(Active ...

    VC2005从开发MFC_ActiveX_ocx控件到发布到net网站的全部过程

    VC2005从开发MFC_ActiveX_ocx控件到发布到.net网站的全部过程

    vc2005开发ActiveX event步骤

    ### vc2005开发ActiveX Event步骤 #### 前言 Microsoft Visual C++ 2005(以下简称VC2005)是微软发布的一款面向C++语言的集成...掌握这种方法后,开发者能够在VC2005中更加灵活地开发ActiveX控件,并提高开发效率。

    ActiveX_Programming_with_VC

    在VC中,创建ActiveX控件通常涉及以下步骤: 1. **创建项目**:使用Visual C++的“新建工程”对话框,选择“ActiveX控件”模板,为控件生成基本框架。 2. **设计界面**:在资源编辑器中设计控件的外观,定义控件的...

    如何在VB、VC和.NET中使用halcon.rar

    在VB中使用Halcon,开发者通常需要通过Halcon的ActiveX控件或者.NET组件来调用其功能。首先,需要安装Halcon的开发工具包,其中包括所需的DLL文件和控件。然后,在VB项目中引用这些控件,创建对象实例,通过对象的...

    Visual C++.NET 数据库开发指南

    综上所述,《Visual C++.NET 数据库开发指南》是一本全面覆盖C++.NET数据库开发的资源,不仅教导读者如何编写数据库相关的代码,还教授如何设计高效的数据库解决方案,以满足实际项目的需求。通过学习,开发者可以...

    vc-clock 时钟控件

    6. **跨平台兼容**:ActiveX控件虽然主要是为Windows开发设计的,但通过一些技术手段,如.NET框架或第三方库,也可以在其他平台上实现类似功能。 7. **资源管理**:在应用中,正确地创建、初始化和释放`vc-clock`...

Global site tag (gtag.js) - Google Analytics