哪个大虾知道VB6.0制作ActiveX控件的全部过程,需要详细的步骤。
我找过很资料都不适合,对于VB6.已经忘记的差不多了,希望大侠们帮帮小弟。。分数送上

解决方案 »

  1.   

    MSDN中有完整叙述。建议LZ安装MSDN6。
    创建 ActiveX 部件
    因为开发人员可以把经过测试的标准部件装配成应用程序,所以应用部件软件开发方法可以缩短编程时间,并开发出更强有力的产品。转向部件软件已成为软件工业中最引人注目的一大趋势,这是由 Microsoft Visual Basic 之类的产品的成功所激发的。
    Microsoft 一直致力于定义一个可扩充的开放标准,用于实现软件互操作性。部件对象模型 (COM),包括 Automation 和 ActiveX 规范,使用户所创建的软件部件可以与购买的软件部件一起顺利运行。
    Visual Basic 实现了 ActiveX 部件的创建。Visual Basic 为快速创建、调试和部署软件部件提供了 ActiveX 控件、ActiveX 文档、代码部件以及提供对象的应用程序等工具。
    准备知识
    在开始之前,必须知道如何使用类模块定义新类,如何基于类创建对象以及如何使用 ActiveX 部件。在《Visual Basic 程序员指南》的“用对象编程”和“用部件编程”两章中讨论这些主题。创建一个 ActiveX 控件
    本章采用一系列按步骤进行的过程构造了一个称之为 ShapeLabel 的简单ActiveX 控件。尽管这个控件本身并没有什么感兴趣的地方,但它的构造能快速示范ActiveX 控件存活期的主要事件,并能介绍在设计时期代码运行的错综复杂性,还能给出创建与挂接属性页的基本步骤。
    在后面的章节中,将广泛深入的介绍上述过程引用的全部主题。每一个过程都将引用更深入的材料。 此外,第九章“建立 ActiveX 控件”给出了怎样使用 ActiveX 控件界面向导更加轻松地构造控件。
    因为创建 ShapeLabel 控件的各个过程是相互依赖的, 所以这些过程的执行顺序很重要。
    主题
    vbconAddingNewUserControlsToProject 创建 ControlDemo 工程 
    打开一个空的 ActiveX 控件工程,检查 ActiveX 控件设计器并且设置适当的工程属性。
     
    vbconAddingTestProject 添加 TestCtlDemo 工程 
    创建包含 ActiveX 控件和测试工程的工程组,并将这两个工程链接起来。
     
    vbconRunningControlsAtDesignTime 在设计时运行 ShapeLabel 控件 
    演示如何使某个 ActiveX 控件进入运行模式而不将测试工程放入运行模式,从而使控件设计时的行为可以调试。
     
    vbconLifeTimesOfUserControl UserControl 对象的存活期 
    说明出现在 ActiveX 控件存活期的主要事件,并显示一个控件实例怎样连续地被撤消及重建。
     
    vbconDrawingShapeLabelControl 绘出 ShapeLabel 控件 
    可以采用图形方法从一个草图绘出新控件,或者通过组合其它控件来构造新控件。ShapeLabel 使用后一种技术。
     
    vbconAddingPersistingProperties 保存 ShapeLabel 控件的属性值 
    把 Caption 属性添加到 ShapeLabel 控件中并示范怎样保存该值。介绍Extender 对象。
     
    vbconAddingPropertyPagesToProject 给 ShapeLabel 控件添加一个属性页 
    演示如何创建属性页以及如何将其与 ShapeLabel 控件相连接。
     
    vbconAddingEventToControl 把一个事件添加到 ShapeLabel 控件中 
    示范怎样显露事件。 
     
    vbconCompilingUserControl 编译 ControlDemo 部件 
    编译该工程,并演示怎样用测试工程来测试 .ocx 文件,并将其包含在另一工程中。
     
    vbconOLEControlCreationRecap 重述控件创建 
    总结创建 ActiveX 控件所需的关键任务。
     
      

  2.   

    创建一个ActiveX控件工程   在“文件”选单中选择“新建工程”,然后双击“ActiveX控件”图标,生成一个控件工程项目(缺省名UserControl1)。此时设计窗口显示一个类似于窗体的界面(无边框),其属性窗口也类似于窗体的属性窗口,只是有很多熟悉的属性没有了,且还有一些一般窗体不具有的属性。选取“工程选单”最下面的“UserControl1属性”项,在出现的对话框中改工程名称为“MyControl”。在属性窗口中改控件名称为“MyTime”。 到这里,就初步建立好了一个active控件工程。然后,我们来设计界面,我们加入一个timer(timer1)控件和一个label 控件,将timer1的“Interval”属性为1000,然后在Timer1_Timer()过程中加入如下代码: lblTime.Caption = Time 'Time 返回系统当前时间 现在将工程保存一下。由于控件工程不能独立运行,我们创建一个新的工程来测试一下设计的新控件。 选取“文件”选单上的“添加工程”,注意不要用“打开工程”或“新建工程”,那样会关闭控件工程。创建一个“Standard exe”工程,并将控件工程的设计窗口关闭,这时会发现在控件工具栏的最下边出现了一个名为“MyTime”的新控件。将其放至Form1窗体内,窗体上会出现一行文字,显示的正是当前时间,这就是新创建的MyTime的实例“MyTime1”。然后把我们后来加的那个工程设置为启动工程,这样,按F5运行看看效果吧。到这里,我们就初步实现了一个最基镜腶xtive控件。下面我们介绍一些高级的东西。 2、添加属性 为我们的控件添加Interval属性,使的我们可以设置timer的间隔。步骤如下: 选择菜单“工程”》添加用户控件》vb Axtivex控件界面向导,然后点击打开按钮,在出现的界面中单击下一步,出现如下界面: 这里左边显示的是可用的属性,右边显示的是所有已经选择的属性。我们先把右边的全部删除,然后在左边找的“Interval”,双击添加道右边,单击下一步。出现如下的界面: 上一个界面显示的是在你的自定义控件中那写控件已经有的属性,例如interval是timer控件有的。而这里可以加那些控件没有的,我么这里加一个TimeFormat属性,用来控制日期的显示格式。单击增加,在名称中输入TimeFormat,在类型中选择属性。单击确定。 然后用同样的方法新建一个GetTime方法和一个click事件,之后图如下: 之后单击下一步,出现如下界面: 这里,左边是我们建立的一些元素,右边是映射到的控件和成员,我们这里对应关系如下: 设置好了之后,单击下一步,就出现如下界面: 这里列出了我们自定义的属性和方法,那些系统的属性和我们自定义的事件不在这里显示。在上面的界面中,我们可以对我们刚才定义的属性:TimeFormat属性设置类型,默认值和运行时或则是设计时可改变与否,相信大家都看得懂。我们这里把类型设置为String,默认值为“hh-mm-ss",运行时为Read/Write,设计时为Read/Write。设置好了之后单击完成。然后可以在MyTime的代码窗口中看到程序为我们增加了一些代码。 这时,属性interval可以使用,但是,我们自己定义的属性TimeFormat并未生效,我们把Timer1_Timer过程改成如下: If Me.TimeFormat <> "" Then Label1.Caption = Format(Time, Me.TimeFormat) Else Label1.Caption = Time End If 改好之后,你在form1中把MyTime1的TimeFormat属性设置为:hh时mm分ss,在看看时间的显示吧。 也可以改变inteval属性来改变时间改变的间隔 如果我们双击Mytime1空间,可以看到,他有click事件。 Private Sub MyTime1_Click() End Sub 下面我们来分析以下click的原理: 我们会发现代码窗口中“通用”项下出现如下代码:   Option Explicit   Public Event Click()   大家也许能够看得出来,在这里只是定义了两个名称,它们和鼠标的Click毫无关系,下面的代码就把它们联系起来。 Private Sub UserControl_Click() RaiseEvent Click End Sub Private Sub Label1_Click() RaiseEvent Click End Sub RaiseEvent的功能是把控件或其上的子控件的事件进行转发,因为控件总是由其它的子控件组成,上面的代码的意思是:当你单击用户控件时,就出发控件的click事件,当label单击时,也出发。   现在关闭控件设计窗口,打开测试工程,在MyTime1的过程列表中,发现多了事件Click,点击Click,添加代码如下: Private Sub MyTime1_Click() MyTime1.Interval = 3000 Debug.Print "Interval的值为:" & MyTime1.Interval End Sub   运行测试工程,点击窗口中显示的时间,会在立即窗口中输出刚设定的Interval属性值是3000。 最后,我们刚才建立的方法还不能使用,我们现在来实现。可以看到,我们刚才的步骤完成好后,控件的代码窗口中自动加了如下代码: Public Function GetTime() As String End Function 我们改成如下: Public Function GetTime() As String GetTime = Time '返回当前时间,这里只是举例,大家可以加入其他的复杂代码 End Function 然后我们在测试工程中加入一个按钮(command1)在他的click事件中加入下面代码: Private Sub Command1_Click() MsgBox MyTime1.GetTime End Sub 然后运行,单击按钮看看效果。 到这里,我们把active的基本功能都实现了,大家如果看懂了,自然就知道做复杂控件了。 
      

  3.   

    藐视一下forevermini,贴代码.......
      

  4.   

    再给你个参考的:
    http://hi.baidu.com/66719117/blog/item/a315aa0a2d66a11795ca6b36.html
      

  5.   

    到MSDN里找COMPONENT TOOLS GUIDE在这个目录下: Visual Tools and Languages\Visual Studio 6.0 Documentation\Visual Basic Documentation\Using Visual Basic\Component Tools Guide\找Creating ActiveX Components\Creating an ActiveX Control我的MSDN是英文的。中文的应该也有。我这几天正好在看这本书,很详尽。
      

  6.   

    网上下一个ctl格式的自定义控件研究一下