VC6.0从开发activex ocx控件到发布到网上全过程

ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。

一:vc创建activex控件

创建一个activex控件,名称为:test.ocx,创建步骤略。显示结果如下:

为该控件增加一个方法void GetStr(LPCTSTR str),

该方法内部代码如下:

这样,GetStr方法就被加入了。

onDraw函数下代码如下

下面,测试该方法,鼠标右键控件,选择Invoke Methods,弹出如下对话框:

parameter中输入hello,单击Invoke按钮,显示如下:

那么如何在网页中将参数传递给控件,让其在网页中显示出来呢??稍后介绍

test.ocx控件放入c:\ceshi目录下,到网上下载Makecert.exeCert2Spc.exeSigncode.exe,并一同放入c:\ceshi目录下

 

二:ActiveX打包与发布

1)用到的工具如下所示

1.Makecert.exe ---证书创建工具
2.Cert2Spc.exe ---发行者证书测试工具
3.Signcode.exe ---文件签名工具

2)ActiveX发布步骤

       打包activeX需要制作证书,具体用到makecert cert2spc signtool这三个工具,

现在我们将以上工具和.ocx控件放到同一个目录c:\test.

1)单击"开始"-->"运行(R"-->输入"cmd"-->回车-->进入到操作的控件所在的目录(需要将上面所说的工具,和ocx控件放到一个文件夹下);

2)创建inf文件,代码如下

[version]   

signature="$CHICAGO$"

AdvancedINF=2.0

[Add.Code]

test.ocx=test.ocx

[test.ocx]

file-win32-x86=thiscab   

RegisterServer=yes

clsid={B649E664-D7CF-4481-A58E-AC8B4440794A}  

DestDir=11

FileVersion=1,0,0,1

上述代码解释如下:

file-win32-x86=thiscab    
//
告诉ie到哪里去得到这个dllfile一共包括三个部分,第一部分是file,这个永远都是这样的(至少目前来说);第二部分告诉声明支持的OSwin32表示windowsmac就是苹果MAC  OX了;第三部分是CPU类型,比如说x86  ppc  (Power  PC)  mips或者alpha 。其中“thiscab”是一个关键字,表示 CAB 包含此 DLL,也可通过指定一条绝对或相对路径,从一个 HTTP 位置下载所需的 DLL   
例如:  file-win32-x86=http://www.mysite.com/mydir/NEEDED.DLL   

clsid={ B649E664-D7CF-4481-A58E-AC8B4440794A }    
//“clsid”
是将要安装的控件的 CLSID  如何获得呢------
DestDir=11    
//
它的值是dll将要存到本地硬盘的位置,如果它的值是10,则将dll放到\Windows或者\WinNT下;如果是11,则放到\Windows\System或者\WinNT\System32下;如果未指定任何 DestDir(典型情况),则代码安装在固定的 OCCACHE 目录中。  
FileVersion=1,0,0,1
//
说明了atl90.dll的版本号  

3infdll打包成cab

cabarc  n  test.cab  test.inf  test.ocx这样就将其打包成test.cab

(4) 生成cert证书

为得到签名用的spc格式
 makecert /sv "test.pvk" /n "cn=test" test.cer
 
执行过程中会要求输入密码,密码要一致,如下图所示

 

     (5) 生成.spc文件

cert2spc test.cer test.spc之后,就在其目录中多了一个test.spc文件

(6) cab文件进行签名

运行singcode signwizard,此时会弹出对话框,操作如图所示:

直接按下一步

找到指定目录下的.cab文件

选择自定义

选择“从文件选择”选项

下一步

按浏览找到.pvk文件

选择md5

;默认直接按下一步

不填,下一步

不填,下一步

按完成

7

下面是一个嵌有ActiveX控件testHTML代码示例:

 <HTML>

<HEAD>

<TITLE>New Page</TITLE>

</HEAD>

<BODY>

<object classid="clsid:BFB6032F-6F8D-4B7F-B0B3-6303D08348A4"id="test" CODEBASE="http://www.microdraw.com/down/microdrawocx.cab#version=1,0,0,1"

WIDTH=400

HEIGHT=200

ALIGN=center

</object>

</BODY>

</HTML>

千万要注意:classid是可以从注册表中查到,也可以从vc源代码中获取,打开test.odl文件,id如下所示:

这样,一个网页就创建成功啦!!!

最后,c:\test中有如下文件:

打开test.htm网页显示结果如下:

 

三:网页中参数传递

接下来,来完成最核心的东西,从网页中传递参数到控件显示

修改html代码如下:

<HTML>

<HEAD>

<TITLE>MyActiveX - Methods, Properties, and Events</TITLE>

<SCRIPT LANGUAGE="JavaScript">

 

function PassParameter()

{

    if (StringInput.value != " ")

    {

        test.GetStr(StringInput.value);

    }

}

</SCRIPT>

</HEAD>

<BODY>

<center>

MyActiveX - Methods, Properties, and Events Example

<p></p>

<OBJECT ID="test" WIDTH=350 HEIGHT=50

CLASSID="CLSID: BFB6032F-6F8D-4B7F-B0B3-6303D08348A4">

    <PARAM NAME="_Version" VALUE="65536">

    <PARAM NAME="_ExtentX" VALUE="2646">

    <PARAM NAME="_ExtentY" VALUE="1323">

    <PARAM NAME="_StockProps" VALUE="0">

</OBJECT>

<p></p>

Input Parameter: <INPUT TYPE ="text" NAME="StringInput" VALUE=" ">

<p></p>

<INPUT TYPE="button" NAME="Submit"

       VALUE="Submit" ONCLICK=PassParameter()>

</SCRIPT>

</center>

</BODY>

如上述代码所示,我们在JavaScript中写入函数PassParameter,该函数调用了控件中的方法GetStr,

当鼠标点击按钮submit时,就会调用该函数,进而间接调用该方法。

在编辑框中输入hello,单击submit,显示结果如下:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
能简介: 文件管理功能: 1.支持的文件格式包括:BMP、GIF、ICO、TGA、PCX、WBMP、WMF、JPEG、PNG、MNG、TIFF、JBIG、PNM,PPM,PGM、RAS,DXF ,DWF、DWG 、IGS, MIF,PLT,PRN,HPGL/HPGL2、DGN, SHP, SAT, PS/IGES 2.打开图形图像文件;支持从URL网上打开;3.打印文件:全部打印和选择打印,打印预览, 打印到文件;4.保存和读取自定义格式文件;5.将矢量图以指定的尺寸保存为光珊图或者复制到系统粘贴板上; 显示功能: 1.显示平移,自由缩放,框选放大,最佳显示;2.回溯显示;3.支持显示透明命令操作;4.支持三维文件格式显示;5.鸟瞰,鹰眼,放大镜功能; 元素支持功能:1.点;直线,折线,射线;圆,圆弧;椭圆,椭圆弧;.样条线;函数曲线;填充区域;多义线;2.文字标注;3.尺寸标注(水平,竖直,对齐,角度,半径,直径尺寸等);4.块插入;5.图片插入;6.多边形;7.引线;8.基本三维元素创建;9.图层;10.块定义;图片操作功能:1.支持多种图像文件格式的转换;2.图片的旋转,缩放变换;3.图片的alpha混合度调节;4.图片的色彩明暗调节;5.图片的多种效果支持,锐化,柔化,浮雕效果等;6.图片的合并与切割;7.读取粘贴板上的图片;8.指定大小尺寸保存图片; 属性功能:1.几何属性,颜色,线型,线宽;2.图层属性:显示,隐藏,冻结;3.尺寸属性:颜色,箭头,尺寸线属性,尺寸引线属性,尺寸文字属性,显示单位等;4.文字属性:字体和颜色;字体包括:字体名称,字体高度宽度,是否重显,倾斜,字符集,大小型文件字体(兼容AutoCAD shx字体文件)等;5.块属性:名称,基点,旋转角度,缩放比例;6.剖面线属性:名称,旋转角度,缩放比例; 创建功能: 1.创建点线圆几何等元素;2.两点或三点创建圆或圆弧;3.两点或三点创建椭圆或椭圆弧;4.相应的方式创建常见的各种元素; 编辑构造功能: 1.可以修改元素的几何或显示属性;2.复制,粘贴,删除;移动,旋转,镜像,阵列,打断,延伸等功能; 选择和捕捉功能: 1.单选,多选,框选,过滤选择;2.可以捕捉所有元素及其延长线;3.关键点捕捉:支持起点,终点,中点,中心点,切点,交点,相线点,平行,垂直,延长线相交点; 计算功能:1.两点距离,几何长度,周长的计算;2.面积计算;3.角度计算;4.点是否在区域内;5.交点计算;6.点选封闭区域,填充算法;7.最大,最小封闭区域算法;8.最短路径算法; 系统属性设置功能:1.系统缺省的属性设置; 接口函数: 1.所有功能都提供接口函数供二次开发者使用;2.每个元素都有唯一的ID号;用户可以根据ID号把图形系统和自己的系统联系起来;3.接口以DLL库和OCX两种两种方式提供; 其他功能:1.将windowsTuretype字体转换为矢量图形(TTF2DXF);2. 生成插入块的缩略图;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值