基于VC++中ATL创建ActiveX控件的探讨(3)
最后,添加激发事件的代码,我们分别在鼠标左键和右键按下的消息响应中进行处理,激发响应的事件,例如OnLButtonDown函数部分代码如下:
  WORD xPos = LOWORD(lParam); //鼠标水平坐标
  WORD yPos = HIWORD(lParam); // 鼠标垂直坐标
  Fire_Click (xPos, yPos); //执行触发函数 
至此,可以在ActiveX Control Test Container中测试该控件。
网页中使用ActiveX控件
在控件生成时,系统同时生成了一个CircleCtl.htm文件,在VC编辑环境下打开该文件,在和之间加上如下的VBScript:
<SCRIPT LANGUAGE="VBScript">
<!--
Sub CircleCtl_Click(x, y)
 If CircleCtl.Radius <100 Then
  CircleCtl.Radius = CircleCtl.Radius+1 ‘半径加1
 Else
  MsgBox(“Radius must be less than 100!”)
 End If
End Sub
Sub CircleCtl_RClick(x, y)
 If CircleCtl.Radius >=1 Then
  CircleCtl.Radius = CircleCtl.Radius-1 ‘半径减1
 Else
  MsgBox(“Radius mustn’t be less than 0!”)
 End If
End Sub
-->
</SCRIPT> 
注意保存。然后在“我的电脑”中打开该htm文件,用鼠标单击圆,半径变大,右击圆半径变小。
结束语
本文介绍了基于ATL技术以及使用该技术实现了一个简单的圆的控件CircleCtl并且介绍了其在网页中的使用。ActiveX控件作为可重用的代码组件,不仅应用广泛,还可节约开发时间。它将大量的实现细节隐藏起来,以简明的接口与用户名交互,易于使用。对ActiveX技术的研究已经成为当今软件业的热点和潮流。
- 上一篇:VC++实现显示透明的256色以上的图标
 - 下一篇:BMP位图文件结构及VC操作
 

