📄 020116.htm
字号:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>vb study</title><style>
<!--
td {font-size: 9pt}
A:link {text-decoration: none; color: #0033cc;font-size: 9pt}
A:visited {text-decoration: none; color: #0066CC;font-size: 9pt}
A:active {text-decoration: none; color: #ff0000; font-size: 9pt}
A:hover {text-decoration: underline; color: #000000;font-size: 9pt}
-->
</style>
</head>
<body>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="98%">
<tr>
<td width="100%"><a href="#">你的位置</a>:<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="#">VB学习</a>--<a href="#">ActiveX控件</a></td>
</tr>
<tr>
<td width="100%">
<p align="center">主要ActiveX控件</td>
</tr>
<tr>
<td width="100%"><br>
创建ActiveX控件:<br>
<br>
1,新建ActiveX控件工程,在UserControl窗体上(相当于Form)设置控件界面,并编写代码。就象编写DLL一样,自定property属性过程及function方法过程和event事件过程,需要说明以下几点:①界面的形成是由VB用户画到他们的界面上去的,因此如果控件大小固定(象Timer控件),那么就要在UserControl_Resize()事件中固定1个本UserControl窗体缇数值,如Width和Height都为480;②在控件中常常要用到API函数,所以一般都应添加标准模块,但是,输出到用户的控件属性,方法,事件不能写在标准模块中,那样对于用户不可见,只能写在UserControl窗体中;③▲定义控件的用户属性:在UserControl窗体内部用Public Property Get和Public Property Let (Set)过程; ▲定义控件的用户方法: 在UserControl窗体中使用Public Function或Public Sub过程; ▲定义控件的用户事件:先在UserControl窗体顶部用"Public Event 事件名(参数)"声明事件变量,然后在代码中需要停顿的地方用"RaiseEvent 事件名(传给用户的参数值)".注意:控件的用户属性方法事件都在UserControl窗体模块中用Public声明,必须在UserControl窗体中用Public设置用户属性方法事件,在标准模块中的过程和在UserControl中的Privete过程都是用户不可见的。接着,对加到窗体上的控件,象编写标准EXE一样编写有关代码。2,在"工程"菜单"添加工程"中加一标准EXE,作为新控件的容器,对新创建的控件进行调试,合格后方可保存。3,生成ocx文件,在"工程"菜单"工程属性"通用卡中,将"工程类型"选ActiveX控件,启动对象为None.再回到属性窗口,修改控件public属性为true,(名称)属性为自定一个,要反映出该控件功用,缺省为UserControl1,不好,改掉。还要对工程名,版本号,图标,公司名等作设定,达到1个完整ocx的效果。如果1个控件不用界面(即界面固定,象Timer,Commondialog等),那么最好也在其上显示1个图标,给UserControl窗体Icon属性加1个图标就行了.<br>
对本机上创建的ocx,可直接在"部件"中选中加到工具箱,进行使用,<br>
对在ActiveX控件中添加事件,我们知道,其实1个事件主要是表示"什么时候触发",在需要触发的地方用RaiseEvent停顿一下就可以了。 1,先在通用部分声明全局事件变量:Public Event关健字,如public event press()声明了1个press()事件(无参数)。2,在要触发该事件的地方用RaiseEvent 事件名。如下:<br>
Public Event Press()<br>
Private Sub Image1_Click() <br>
Image1.Visible = False<br>
Image2.Visible = True<br>
RaiseEvent Press --单击image1时会触发<br>
End Sub<br>
Private Sub Image2_Click()<br>
Image1.Visible = True<br>
Image2.Visible = False<br>
RaiseEvent Press --单击image2也会触发。<br>
End Sub <br>
<br>
<br>
创建ActiveX文档工程:<br>
<br>
ActiveX文档是运行在IE浏览器里的程序。就象其他Web页面一样,但它是紧密集成了internet的VB应用程序。不是普通的HTML文档,可以把ActiveX文档想象为VB的internet应用程序。ActiveX文档包括了文档DLL和文档EXE两种,不同之处是文档DLL是进程内组件,而文档EXE是进程外组件。<br>
新建1个ActiveX文档EXE,出现1个缺省对象UserDocument1,相当于标准工程中的form1,但因它运行在IE浏览器中,有些事件是不同的,如下: <br>
Show事件:在浏览器中显示文档时触发,常用来初始化。<br>
Hide事件:当在浏览器中卸载文档时触发,<br>
EnterFocus及ExitFocus事件:当焦点进入,退出对象时,引发该事件。<br>
writeProperties事件:当保存对象的实例时引发。<br>
readProperties事件:当加载具有保存状态的对象的旧实例时引发。<br>
SetViewPort方法:设置在窗口中可见的userDocument对象的左边距和上边距。格式为:userDocument对象.SetViewPort left,top<br>
AsyncRead方法:该方法从文件或URL中启动容器的异步式数据读取。<br>
ViewPortTop,ViewPortLeft,ViewPortHeight,ViewPortWidth属性:返回在IE浏览器中显示的文档剪贴区的坐标和大小。只读属性。<br>
MinHeight,MinWidth属性:设置ActiveX文档需要的最小空间。<br>
HyperLink导航对象:它在userdocument对象中,不需要另行创建。有如下方法:GoBack方法:返回前一页面;GoForward方法:下一页面;NavigateTo方法:导航,将程序链接到internet站点(或本机上某路径)。如:<br>
UserDocument.Hyperlink.NavigateTo ("http://www.cctv.com")<br>
说明:userDocument对象不具有Load,Unload,QueryUnload事件,以link…打头类事件,activate事件。而使用show,hide等事件来实现相同的功能。
<p align="center">
<br>
< <a href="020115.htm">上一页</a>--<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="020201.htm">下一页</a>
><br>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -