金牌2016年十二生肖表:如何用VB6做控件

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 00:37:17


如何用VB6做控件

    主要搞清如下几个问题:
       (一)制作一个控件的过程(这是核心问题,别一堆儿细节,结果整个事儿怎么办都不知道。许多人有这个毛病。)
       (二)如何生成一个控件(把您的心血变成产品,而不是源代码)
        (三)制作控件的几个关键细节
           如果利用已有控件?
            如何为控件“增加”自已的属性?有三个小问题────
               如何在控件里保存属性值
                如何由用户在外部设定属性值
               如何向用户提供属性值
            如何使控件对“事件”有反应
            如何使控件具有初始化的能耐

   那就齐活儿了。

    下面,且顺序问题的方式简明描述。

    问题一:制作一个控件的过程
       步骤一:“新建一个工程”时,选择“ActiveX控件”,而不是常用的“Exe文件”就行。搞定。
       步骤二:就跟普通VB编程一样,往上放控件,编相关代码。还再整点后面所说的几个关键细节。搞定。
       步骤三:用“文件”菜单下的“生成XXXXXX.OCX”菜单项,生成结果的OCX文件。搞定。
    问题二:如何生成一个控件(把您的心血变成产品,而不是源代码)?
       问题了已经说明了。用“文件”菜单下的“生成XXXXXX.OCX”菜单项,生成结果的OCX文件。搞定。
    问题三:如何利用已有的控件?
       就在自制控件的界面(跟普通EXE工程的FORM界面没区别),就把能用的控件玩了命的使劲往上搁就行。当然,放完东西别忘了配代码。搞定。
   问题四:如何在控件里保存属性
       这个最简单。只要在控件的说明部分里加上DIM语句来定义几个变量就行。搞定。
    问题五:如何由用户在外部设定属性值?
        只要在代码里,按下面这个形式写一下────
           Property Let 属性名(ByVal New_Value As 类型)
                内部某个变量名 =New_Value
            End Property
        就成。搞定。
    问题六:如何向用户提供属性值
        只要在代码里,按下面这个形式写一下────
           Property Get 属性名() As 类型
                属性名 = 内部某个变量名
           End Property
        就成。搞定。
    问题七:如何使控件对“事件”有反应
        就在自定义控件里,像平常编EXE工程一样,对上在的各个东西,直接编写源代码。
    问题八:如何使控件有初始化的能耐
        只要在代码里,按下面的形式写一下────
           Private Sub 用户自定义的控件名_Initialize()
               随便写上您想干的事儿的代码。。。。。。
            End Sub
        就成。搞定。

三、一个实例

    光说不练嘴把式,光练不说傻把式────又说又练真把式!!!!!!

    下面是偶为了示范自定义控件做的一个完整样例────
       该控件,上面有两个标签────会显示出一个X值,一个Y值────正好一对坐标。
       用户可以对这个控件的X和Y属性进行操作────结果马上会在控件上显示出来。

    制作步骤:
        (一)新建OCX工程
       (二)在界面上放上两个标签。一个叫Lx,一个叫Ly,用来显示属性值。
       (三)然后在代码里,写下如下代码(里面都有注解)就成。

Dim Xm As Integer  '内部自定义变量,将来就用来为属性X提供住房了
Dim Ym As Integer '内部自定义变量,将来就用来为属性Y提供住房了

Private Sub UserControl_Initialize()  '控件初始化操作
    LX.Caption ="X=" & Xm  '在控件上显示属性X的值
    Ly.Caption = "Y=" & Ym '在控件上显示属性Y的值
End Sub

Property Get X() As Integer  '取出控件内的值给“属性”
    X = Xm
EndProperty
Property Let X(ByVal New_X As Integer)'把用户写入的“属性”值设置到OCX控件内部值
   Xm = New_X
   LX.Caption = "X=" &Xm  '改变完X属性住户,顺手在控件界面上显示一下
End Property
'后面关于属性Y注解就不用加了
PropertyGet Y() As Integer
    Y = Ym
End Property
Property LetY(ByVal New_Y As Integer)
    Ym = New_Y
    Ly.Caption = "Y="& Ym
End Property

Private Sub UserControl_Click()  '控件对单击事件的反应
  MsgBox ("您单击了我")
EndSub

Private Sub UserControl_DblClick()  '控件对双击事件的反应。
  MsgBox("您单击了我")
End Sub
        (四)选“文件”里的“生成XXXXXXXX.OCX”菜单项,稍等,完活儿了。