`
jinyanhui2008
  • 浏览: 318470 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

用 VC++ 2005 建立ActiveX 分步走

阅读更多

如何使用VC++ 2005创建一个ActiveX控件呢,请听我慢慢道来。
 

首先选择新建项目,选择Visual C++  MFC -> MFC ActiveX 控件




输入项目名称,本例子我们起名为 FActiveX,点击确定。


 

在控件设置中 仅选中运行时不可见,然后选择完成。

到此一个完整的ActiveX框架就已经搭成了,VC2005为我们生成了所有必须的文件,现在你就可以编译一下了,应该没有任何的错误和警告,否则就可能是你的开发环境有问题了。

在工程目录里的Debug子目录下已经生成了FAvtiveX.ocx的文件,说明我们已经成功生成控件了,只不过这个控件没有任何功能和接口。

 下面我们就逐个添加控件的2个要素:事件、方法;



在类视图中选中 CFActiveXCtrl类,点击右键选择 添加->添加事件

在添加事件向导里,填写事件名称RecvData,参数类型 BSTR,参数名strData,

添加将参数名添加到参数列表。

点击完成,事件就添加完了.

那方法该如何添加呢?

类视图 ->接口->FAvtiveXlib->接口->_DFAvtiveX上点击右键选择 添加->添加方法

在添加方法向导中,返回类型选择void,方法名Show,参数类型BSTR,参数名strMsg,

选择完成,至此方法就添加完成了。

 

打开 FAvtiveXCtrl.cpp文件,在Show程序里添加如下测试代码

RecvData(strMsg);

void CFAvtiveXCtrl::Show(LPCTSTR strMsg)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());

    // TODO: 在此添加调度处理程序代码
    RecvData(strMsg);
}

  

现在我们来重新生成解决方案,应该没有任何错误和警告产生。

至此我们的第一个控件大功告成,现在就让我们来测试一下。 

首先新建一个HTM文件,内容如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ActiveX测试</title>
</head>
<object id="MYAvtiveX" classid="clsid:42BB26D9-323D-4E06-A2B3-D04CF3C4C074" > </object> 
<body>
<input type='button' onclick='MYAvtiveX.Show("Hello World!")' value='Click'> 
<script language='javascript' for='MYAvtiveX' event='RecvData(Message)'> 

    alert("响应ActiveX触发的事件成功:"+Message); 
      
</script> 
</body>
</html>

  

 

其中的classid="clsid:42BB26D9-323D-4E06-A2B3-D04CF3C4C074"代表我们刚刚生成的控件clsid可从FAvtiveX.idl文件中查到:

 

//  CFAvtiveXCtrl 的类信息

    [ uuid(42BB26D9-323D-4E06-A2B3-D04CF3C4C074),
      helpstring("FAvtiveX Control"), control ]
    coclass FAvtiveX
    {
        [default] dispinterface _DFAvtiveX;
        [default, source] dispinterface _DFAvtiveXEvents;
    };

 

保存HTM文件,用IE打开,IE会提示“已限制此网页运行可以访问计算机的脚本或ActiveX控件”,请单击选择允许阻止的内容,在弹出的安全警告窗口选择“”,然后你就可以点击我们刚刚创建的按钮,IE会问你想不想交互之类的话,你选择“”即可看到如下窗口弹出:



说明我们的控件运行正常。

 

分享到:
评论

相关推荐

    如何使用VC++ 2005 给ActiveX控件添加方法,属性,事件

    如何使用VC++ 2005 给ActiveX控件添加方法,属性,事件如何使用VC++ 2005 给ActiveX控件添加方法,属性,事件如何使用VC++ 2005 给ActiveX控件添加方法,属性,事件如何使用VC++ 2005 给ActiveX控件添加方法,属性,事件如何...

    VC++插件与ActiveX技术

    1. **基础理论**:讲解ActiveX控件和插件的原理、工作流程以及如何在VC++环境中创建和使用它们。 2. **API和接口**:介绍相关的API函数和COM接口,以及如何在代码中使用它们。 3. **案例分析**:提供实际项目中的...

    VC++6.0写ActiveX控件,和WEB通信的一些心得

    在使用VC++6.0开发ActiveX控件并与Web端进行通信的过程中,可能会遇到多种挑战,包括但不限于参数传递方式的选择以及安全性问题。通过本文介绍的方法和技术,可以有效解决这些问题,帮助开发者顺利完成项目。当然,...

    VC++编写ActiveX控件

    本教程将深入探讨如何使用VC++来编写ActiveX控件,以及相关的开发过程和关键知识点。 首先,我们需要了解ActiveX控件的基本概念。ActiveX控件是基于COM的二进制模块,可以在网页、应用程序或者任何支持ActiveX技术...

    用VC++开发的activex控件

    标题中的“用VC++开发的activex控件”指的是使用Microsoft Visual C++(简称VC++)这一集成开发环境来创建ActiveX控件的过程。ActiveX是微软提出的一种技术,它允许开发者创建可重用的组件,这些组件可以在各种应用...

    vc++图像处理ActiveX

    本篇将深入探讨如何使用VC++结合ActiveX技术进行图像处理。 **一、ActiveX控件介绍** ActiveX是微软推出的一种组件对象模型(COM),用于创建和使用小型、可嵌入到其他应用程序中的软件组件。这些组件可以跨不同的...

    VC++组件与ActiveX

    ### VC++组件与ActiveX知识点详解 #### 一、ActiveX技术概述 ##### 1.1 ActiveX技术的诞生与发展 - **起源**: ActiveX技术由Microsoft公司在1996年推出,旨在促进软件组件之间的互操作性。 - **发展历程**: 自推出...

    activex控件vc++编程

    本文将深入探讨这两个主题以及如何在VC++环境中开发和使用ActiveX控件。 首先,ActiveX控件是Microsoft提出的一种组件对象模型(COM),它允许开发者创建可重用的软件组件,这些组件可以嵌入到各种应用程序中,如...

    vc++activex

    综上所述,VC++ ActiveX是微软历史上一种重要的软件开发工具,虽然现在其使用频率有所下降,但在很多遗留系统和特定场景中,ActiveX控件仍然发挥着作用。理解和掌握ActiveX技术对于理解Windows应用开发的历史和演进...

    在VC++中利用ActiveX控件开发串行通信程序.rar

    在VC++中利用ActiveX控件开发串行通信程序是一个常见的任务,特别是在嵌入式软件上位机开发中。ActiveX控件是Microsoft提出的一种组件技术,它允许开发者通过简单的对象模型来实现复杂的功能,例如串口通信。MFC...

    VC++2005管理系统开发经典案例--源码--图书管理系统

    在《VC++2005管理系统开发经典案例——图书管理系统》的源码中,你可以看到如何使用MFC(Microsoft Foundation Classes)框架来构建图形用户界面(GUI),以及如何与数据库交互,如使用ADO(ActiveX Data Objects)...

    [001]VC++编写ActiveX控件详解.zip上位机开发VC串口学习资料源码下载

    [001]VC++编写ActiveX控件详解.zip上位机开发VC串口学习资料源码下载[001]VC++编写ActiveX控件详解.zip上位机开发VC串口学习资料源码下载[001]VC++编写ActiveX控件详解.zip上位机开发VC串口学习资料源码下载[001]...

    VC++开发IE ActiveX控件示例

    02_MyActiveX2 使用VC做的一个三角函数曲线Activex插件 03_ActiveXInDlg 在应用程序中调用示例2中的插件 04_ActiveXInWeb 在Web程序,即html网页中调用示例2中的Activex插件 注:用VC6打开工程后,按F7会自动编译...

    VC++编写ActiveX控件和CSharp调用activeX[整理].pdf

    在本文中,我们将探讨如何使用VC++编写ActiveX控件,并在C#中调用这些控件。 首先,创建一个简单的ActiveX控件涉及以下步骤: 1. 使用VC++的MFC ActiveX Wizard创建新项目。在VC++ IDE中,选择“新建项目” -&gt; ...

    VC++在activex控件的动画编程

    开发者需要掌握如何利用VC++和ActiveX的特性来解决这些问题,比如使用双缓冲技术来减少闪烁,通过多线程来提高动画的实时性,以及运用事件驱动编程来实现用户交互。 总的来说,VC++结合ActiveX控件进行动画编程,既...

    vc++之Activex开发

    **VC++之ActiveX开发** 在Windows编程领域,ActiveX技术是Microsoft提出的一种组件对象模型,它允许开发者创建可重用的控件和组件,这些控件可以在多种应用程序中嵌入,实现跨平台交互。VC++(Visual C++)作为微软...

    vc++2005连接sql2000

    在VC++2005(Visual C++ 2005)中连接SQL Server 2000是一项常见的任务,特别是在开发需要与数据库交互的Windows应用程序时。本篇将详细介绍如何利用VC++2005与SQL Server 2000进行数据操作,包括连接、查询、添加、...

    ado和datagrid连用典型实例(vc++6.0和vc++2005平台上)

    在VC++ 2005环境下,过程类似,但使用.NET的方式: 1. 添加引用:在项目中添加对System.Data和System.Data.OleDb的引用。 2. 创建连接:使用SqlConnection或OleDbConnection类创建数据库连接。 3. 执行SQL:通过...

Global site tag (gtag.js) - Google Analytics