社区
控件
帖子详情
有个第3方控件,怎么注册?在win98
CNer
2001-11-19 10:23:42
...全文
142
10
打赏
收藏
有个第3方控件,怎么注册?在win98
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
btbq
2001-11-25
打赏
举报
回复
贴子追踪
jafi
2001-11-20
打赏
举报
回复
建议把my.ocx给copy到c:\windows\system目录下
CNer
2001-11-19
打赏
举报
回复
还是像上面的提示。
81083
2001-11-19
打赏
举报
回复
why?
CNer
2001-11-19
打赏
举报
回复
!!!!!!!!!!!!!!!!!!!!!!!还是不行呀
lvjunyu
2001-11-19
打赏
举报
回复
应该可以的
你认真再试试
CNer
2001-11-19
打赏
举报
回复
还是不行的啊。
注册时,提示:LoadLibrary ("c:\my.ocx")failed
GetLastError returns 0x00000485
这是怎么一回事?
jafi
2001-11-19
打赏
举报
回复
开始->运行->regsvr32 盘符路径文件名(就是那个ocx或者dll文件的名字)
就ok啦
注意有空格
CNer
2001-11-19
打赏
举报
回复
可是,,,
照你说的做。
它提示说“不可注册为activex控件”
这是怎么一回事?
sunziguang
2001-11-19
打赏
举报
回复
你只需进入工具菜单,选择部件,通过浏览找到你的控件,便进行了注册。
VB6.0动态加载ActiveX
控件
漫谈
VB6.0动态加载ActiveX
控件
漫谈 深圳 罗汉军 罗德昌 熟悉VB的朋友对使用ActiveX
控件
一定不会陌生,众多
控件
极大地
方
便了编程, 但唯一的缺陷是不能动态加载
控件
,必须在设计时通过引用,将
控件
放置在窗体上。 VB6.0已能够解决该问题,只是帮助中没有明确说明,并且没有描述到一些关键功 能,由于以前的版本中可以动态创建进程外服务:如果对象是外部可创建的,可在 Set 语句中用 New 关键字、CreateObject 或 GetObject 从部件外面将对象引用赋予变 量。 如果对象是从属对象,则需使用高层对象的
方
法,在 Set 语句中指定一个对象引 用: Dim xlApp1 As Excel.Application Set xlApp1 = New Excel.Application 或 Dim xlApp As Object '定义存放引用对象的变量。 Set xlApp = CreateObject("excel.application") xlApp.Visible = True ---- 这些语法很容易造成误导,以为动态加载ActiveX
控件
也是此
方
法,可能有朋 友也象我一样利用CreateObject尝试了无数次,却无功而返,不知微软公司是出于何种 考虑,动态加载ActiveX
控件
是扩展
控件
集合的
方
式实现,通过实际摸索,终于就如 何实现动态ActiveX
控件
找出了一条切实可行的
方
法,下面以一个具体的实例来详细说 明。 一、ActiveX
控件
---- ActiveX
控件
是 Visual Basic 工具箱的扩充部分。使用 ActiveX
控件
的
方
法与使用其它标准内装的
控件
,如 CheckBox
控件
,完全一样。在程序中加入 ActiveX
控件
后,它将成为开发和运行环境的一部分,并为应用程序提供新的功能。 ---- ActiveX 部件通过客户端/服务器关系与应用程序— 及与部件相互之间— 交 互作用。客户端是使用部件功能的应用程序代码或部件。服务器是部件及其关联的对象。 例如,假设应用程序使用 ActiveX
控件
来提供一个标准的雇员窗体,供公司的多种 应用程序使用。提供雇员窗体的 ActiveX
控件
就是服务器,使用这个
控件
的应用程序 就是服务器的客户端。 二、加载
方
法 ---- VB6.0中对Controls 集合进行了扩展,以前版本中Controls 集合在窗体上列 举出已加载的
控件
,这在迭代过程中是很有用的。Controls 集合标识一个叫做 Controls的内在窗体级变量。如果忽略可选的 object 所在处的整数,则关键字 Controls 必须包括在内。我们通常在窗口中使用如下代码: Text1.Text="Hello, world" 其实也可以使用如下代码达到同一目的: Controls(1).Text="Hello, world" ---- 在VB6.0中除了原来的Clear、Remove
方
法外(很奇怪,为什么微软在VB5.0中 只提供这两种
方
法,而没有提供Add
方
法,因为没有Add,这两种
方
法也就没什么用处), 增加了Add
方
法,该
方
法就是用于动态加载
控件
的: Controls.Add(progid as String, Name as String); progid: ActiveX部件的ProgID,如:"VB.CheckBox"; Name:ActiveX部件加载后的名称,如: "MyCheckBox"; 若要在窗体上添加一个名为MyButton的按钮,可以使用: dim oControl as Object '窗体级变量 注意:这里声明为Object对象类型 Private Sub LoadControl() Set oControl = Controls.Add ("VB.CommandButton", "MyButton") oControl.Left = 10 oControl.Top = 10 oControl.Visible = True '使
控件
可见 End Sub ---- 这是VB6.0的标准语法,它在例程中也是如此演示的,不过该
方
法虽然现实了
控件
的动态加载,按钮显示在窗体上,可以象普通按钮一样按下去,但加载的
控件
不能 预先设计响应事件代码,如:事件Sub MyButton_Click()将是非法的,当然,可以将要 响应的事件封装在
控件
内部。就编程的观点来看该
方
法没什么大的用处,开发ActiveX
控件
的目的是为了资源共享,为了被其他开发人员利用,所以要提供必要的事件接口, 显然利用该
方
法不行,通过分析VBControls等相关对象,找出VBControlExtender对象 与EventInfo相结合能提供事件陷井捕捉,VBControlExtender对象对动态添加
控件
特 别有用,它提供了一套通用的属性、
方
法、事件给开发人员,它的一个突出特点是能编 程设计
控件
的事件,熟习类编程的朋友对带事件的对象声明一定不会陌生: ---- Dim WithEvents objElemt as CElemtVBControlExtender也不例外,声明的 语法一样,只不过它
有个
特殊的事件ObjectEvent(Info As EventInfo),它能捕捉到对 象使用RaiseEvent产生的所有事件,EventInfo数据结构映射了事件的名称、参数个数 和参数的值。VBControlExtender和 EventInfo相结合,采用Select Case 就可以预先 将不同类对象的事件放置一起,各自独立运作。将上面的代码改写一下就能提供Click 事件了: ---- Dim WithEvents oControl As VBControlExtender '带事件声明声明之后您 就可以在代码窗口的左上角的对象下拉框中发现该对象出现了,也就是说,该对象有了 事件或
方
法了,它的事件有DragDrop,DragOver ,LostFocus ,GotFocus , ObjectEvent和Validate,其中ObjectEvent是通用的事件捕捉。 Private Sub LoadControl() Set oControl = Controls.Add ("VB. CommandButton", "MyButton") oControl.Visible = True End Sub Private Sub oControl_ObjectEvent(Info As EventInfo) Select Case Info.Name Case "Click" 'Click事件 '您可以添加处理Click事件代码 MsgBox "您按了MyButton!" Case Else ' 其他事件 ' Handle unknown events here. End Select End Sub ---- 当然对微软提供的标准
控件
能采用该
方
法添加,大家都不会怀疑,但自己开 发的
控件
也能吗?答案是肯定的,我们可以用一个实际的例子进行说明。 三、实例描述 ---- 假设一个本地网络的监控系统,需要在原理图与实物示意图间切换,原理图 包括组网结构、传输资源、监控主机等,而实物示意图包括路由器、设备、采集器等, 当然两种图的事件要一致,如双击某个设备图形将显示给设备的实时数据等,为了简化 维护,将原理图与实物示意图封装成ActiveX
控件
,由于每种图需要加载许多图形控 件,消耗资源较大,不能同时加载,需要将其分解为两个
控件
,在切换时首先卸载一个
控件
,然后加载另一个
控件
,所以要实现动态加载ActiveX
控件
。 ---- 原理图
控件
为--Theory.ocx ,对应工程为CTheory; ---- 实物图
控件
为---Fact.ocx ,对应工程为CFact; ---- 注意:为了简化,在设计
控件
时不设置许可证关键字。 ---- 实物图
控件
上的图形对象可以被拖动,拖动后的位置信息通过事件 ChangePosition来通知拥有该
控件
的窗体,以便下次加载能显示在最后位置,实物 图和原理图
控件
都有双击事件完成的工作相同,其他事件此处忽略。 ---- 四、具体示例 ---- 1、准备工作 ---- 对
控件
Theory.ocx 、Fact.ocx 进行
注册
(利用Regsvr32.exe
注册
); ---- 建立窗体frmTest.frm ,在窗体上放置按钮cmdLoadOcx—“原理图” ---- 2、声明窗体级变量与加载函数LoadControl Dim WithEvents oControl As VBControlExtender '地图仿真
控件
对象 Dim mblnTheory As Boolean '是否显示原理图 Private Function LoadControl(intType As Integer) If Not oControl Is Nothing Then '首先判断对象是否存在,若存在则卸载 Controls.Remove("MapView") '卸载
控件
,此操作非常重要 End If If intType = 0 Then Set oControl = Controls.Add ("CTheory. Theory", "MapView") Else Set oControl = Controls.Add ("CFact.Fact", "MapView") End If oControl.Height = 3500 oControl.Width = 6500 oControl.Top = 100 oControl.Visible = True End Function Private Sub Form_Load() mblnTheory = True End Sub ---- 3、为按钮cmdLoadOcx编写代码 Private Sub cmdLoadOCX_Click() If mblnTheory Then Call LoadControl(0) mblnTheory = False cmdLoadOCX.Caption = "实物图" Else Call LoadControl(1) mblnTheory = True cmdLoadOCX.Caption = "原理图" End If End Sub ---- 4、为事件ChangePosition编写代码 Private Sub oControl_ObjectEvent (Info As EventInfo) Select Case Info.Name Case "ChangePosition" MsgBox CStr(Info.EventParamters.Item( 1).Value) + ":" + _ CStr(Info.EventParamters.Item(2).Value) Case "DbClick" '双击处理代码 Case Else ' End Select End Sub ---- 注意: EventInfo的参数EventParamters集合中是以1开始的,一般来说,微 软新的集合一般是以1开始的,而旧的是以0开始的,如RdoErrors.Item(0)。 ---- 5、关闭窗口前卸载
控件
Private Sub Form_Unload(Cancel As Integer) Controls.Remove("MapView") Set oControl = Nothing End Sub ---- 6、特别注意 ---- 通过Controls.Add
方
法添加的ActiveX
控件
一定不能在该工程中有该
控件
的任 何引用,否则系统将出错。 四、小结 ---- 通过使用动态加载ActiveX
控件
使用庞大的应用程序变得很小,将不同的 ActiveX
控件
进行各种组合,使应用程序更加灵活多变,如您的应用系统要处理三十种门禁, 而某个具体的用户可能只有一种或两种门禁,根本没必要首先将所有门禁包含到应用 中,可将各个门禁独立封装,只安装
注册
需要的组件,就象
Win
dows的自定义安装一样。 微软的未来技术基础是分布式的组件技术(DCOM),将会把代码的重用发挥得淋漓尽致。 您不妨试一试动态加载,也许会产生令您惊喜的效果! ---- 本代码在
Win
98
、VB6.0(英文版)上编译、运行。
软件破解入门教程.txt
第1章 前言 前言 第2章 基础知识 基础知识 汇编速查手册 汇编跳转 浮点指令 分析技术 第3章 动态分析技术 工具安装与配制 工具操作入门 API函数简介 拆解教程 第4章 静态分析技术 基础知识 W32Dasm简介 IDA Pro简介 HIEW简介 拆解教程 第5章 函数、资源与
注册
表
Win
32
MP3播放器
1。主窗口。 主窗口的功能有:动态显示音频波表,左右声道调整,暂停,继续,循环,下一首,上一首等。 2。歌曲目录。 我的这个程序是完全模拟
Win
amp写成的。不论是主窗口还使三个窗口的组合,在歌曲目录窗口中支持双击某首歌曲的播放,支持多个文件的同时打开,支持从资源管理器中拖放文件,支持歌曲目录的二次打开和保存,通过主窗口您能有选择的播放单个文件,按顺序播放和随机播放目录表中的文件。 3。作者信息。 此窗口的作用是凑够三个
Win
amp的完整布局,并无实际意义。 程序的开发环境是Delphi6.0操作系统是
Win
98
se,用到的技术点有:(1)Api,在程序登录时的透明窗口和左右声道的控制都使
Win
dowsAPI的调用。(2)Delphi的Mediaplay
控件
的调用,在播放VCD文件时用的就是它。(3)VC++,大家最关心的肯定是动态波形表的问题,其实我为了这个问题已经查阅了一年的资料了,大家有时侯喜欢在工作闲暇时写写小工具软件,但是有些时候我们的知识面是不够的。要想达到
Win
amp的层次必定还相差很多,当然网友中可能有高手,好了我将解决大家的问题了。 刚开始时我认为波形表时调用某个Api函数来得到的,于是我查阅了所有的api手册,结果一无所获。后来我就开始了解码层次的研究,在网上这
方
面的资料太少我转了几个星期也一无所获。有一天我在下班的路上卖了一张VC++资料光盘,在其中居然有动态波形表的文章,通过它我知道了波形表的产生是解码的结果,它通过直接用一个8000个成员变量的庞大数组对特定的音乐文件进行手工解码最后通过声卡直接输出,其复杂程度是我所难以一是理解的代码量超过3万行。并且您还有乐理知识。其中的三维音乐效果模拟也是通过解码来完成的。我的日常工作是数据库程序设计,对多媒体开远不能达到文章中提到的层次,并且每一种格式的文件都要有不同的解码标准。这些标准是国际MP3组织制定的详细内容还要阅读他们的技术文档。我的多媒体程序就这样有放下了。我的目标转到了第三
方
控件
,我想通过第三
方
的
控件
来达到解码播放的目的。但是还是没有现成的
控件
,我前些日子无意中发现了上海一家多媒体解码公司提供了一个波形表动态联接库。通过它我实现了多媒体文件的波形表显示,但是它的预留的接口并不多导致我的程序不能首快进,快退的功能,要想的到完成功能只有花钱了。他们的这个动态联接库也只支持MP3解码并不支持MPG解码。
一个用
Win
dows API写的屏幕键盘(14kb)
一个用
Win
dows API写的屏幕键盘(14kb)
音乐天地mp3播放器
各位网友你们好: 首先感谢你们对我的“音乐天地”的支持,今天我的这个作品你们在使用是还可能有无足之出。为了让大家多能很好的使用它,为了它能够跟快的成长我从这个版本起就将程序的原代码开放了,希望各位高手能更好的完善它。在这里我将介绍一下我的程序的各个部分。 1。主窗口。 主窗口的功能有:动态显示音频波表,左右声道调整,暂停,继续,循环,下一首,上一首等。 2。歌曲目录。 我的这个程序是完全模拟
Win
amp写成的。不论是主窗口还使三个窗口的组合,在歌曲目录窗口中支持双击某首歌曲的播放,支持多个文件的同时打开,支持从资源管理器中拖放文件,支持歌曲目录的二次打开和保存,通过主窗口您能有选择的播放单个文件,按顺序播放和随机播放目录表中的文件。 3。作者信息。 此窗口的作用是凑够三个
Win
amp的完整布局,并无实际意义。 程序的开发环境是Delphi6.0操作系统是
Win
98
se,用到的技术点有:(1)Api,在程序登录时的透明窗口和左右声道的控制都使
Win
dowsAPI的调用。(2)Delphi的Mediaplay
控件
的调用,在播放VCD文件时用的就是它。(3)VC++,大家最关心的肯定是动态波形表的问题,其实我为了这个问题已经查阅了一年的资料了,大家有时侯喜欢在工作闲暇时写写小工具软件,但是有些时候我们的知识面是不够的。要想达到
Win
amp的层次必定还相差很多,当然网友中可能有高手,好了我将解决大家的问题了。 刚开始时我认为波形表时调用某个Api函数来得到的,于是我查阅了所有的api手册,结果一无所获。后来我就开始了解码层次的研究,在网上这
方
面的资料太少我转了几个星期也一无所获。有一天我在下班的路上卖了一张VC++资料光盘,在其中居然有动态波形表的文章,通过它我知道了波形表的产生是解码的结果,它通过直接用一个8000个成员变量的庞大数组对特定的音乐文件进行手工解码最后通过声卡直接输出,其复杂程度是我所难以一是理解的代码量超过3万行。并且您还有乐理知识。其中的三维音乐效果模拟也是通过解码来完成的。我的日常工作是数据库程序设计,对多媒体开远不能达到文章中提到的层次,并且每一种格式的文件都要有不同的解码标准。这些标准是国际MP3组织制定的详细内容还要阅读他们的技术文档。我的多媒体程序就这样有放下了。我的目标转到了第三
方
控件
,我想通过第三
方
的
控件
来达到解码播放的目的。但是还是没有现成的
控件
,我前些日子无意中发现了上海一家多媒体解码公司提供了一个波形表动态联接库。通过它我实现了多媒体文件的波形表显示,但是它的预留的接口并不多导致我的程序不能首快进,快退的功能,要想的到完成功能只有花钱了。他们的这个动态联接库也只支持MP3解码并不支持MPG解码。 如果您有这个毅力学到上海这家解码公司的技术,您将改变您现有的工作岗位。我也在不断的学习但愿网友中有人能尽快彻底解决这一问题。
控件
1,451
社区成员
41,355
社区内容
发帖
与我相关
我的任务
控件
VB 控件
复制链接
扫一扫
分享
社区描述
VB 控件
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章