⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ba14.htm

📁 VB教程
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<HTML>
<HEAD>
<TITLE>对象变量及其在VB编程中的妙用</TITLE>
 
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
 
</head>
<p align="center"><script src="../../1.js"></script></a>
<BODY topMargin=4 vLink=#0000ff>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
  <TBODY>
  <TR>
    <TD height="52"> 
      <DIV align=center>
      <CENTER>
          <table border=0 cellpadding=0 cellspacing=0 width=679 align="center">
            <tbody> 
            <tr> 
              <td width=200 height="59"> 
                 
    </TD></TR><!--msnavigation--></TBODY></TABLE>
<table border=0 cellpadding=0 cellspacing=0 width="100%">
  <tbody> 
  <tr><!--msnavigation--><td valign=top height="235"> 
      <div align=center> 
        <table border=1 bordercolor=#b9d9ff cellpadding=0 cellspacing=0 
      class=table width=755>
          <center>
            <tr> 
               
              <td width="100%" height="6"> 
                <div align="center"> <strong><b>对象变量及其在VB编程中的妙用</b></strong></span></div>
              </td>
            </tr>
            <tr> 
              <td 
            width="100%" class="unnamed1" height="247"> 
                <div align="left"> 
                  <p align="center"><b><font face="宋体" size="-1"><br>
                    一、对象变量的声明及其类型</font></b><font face="宋体" size="-1"><br>
                    <br>
                      对象变量是这样一类变量:它指向某一类对象,并具有此类对象的所有性质和属性,对象变量可看作是一个指针,指向项目中某一特定类型的对象,对此类变量进行控制和操作,就是对项目中所有属于这一类的对象进行相同的控制和操作。它是一种具有对象性质的特殊变量。<br>
                    <br>
                      这些被对象变量指向的对象可以是窗体、控制(包括自定义控制)、屏幕以及数据库的表、记录、字段等对象。<br>
                    <br>
                      对象变量也是有类型的,而且针对具体的对象有不同的定义方式。所以对象变量在使用前也必须先声明后使用。仍然可以用Dim、Static、Global等关键字来声明对象变量。<br>
                    <br>
                    例如:Dim Acontrol As Control<br>
                    Dim Bcontrol As New Form1<br>
                    Dim Ccontrol As CommandButton<br>
                    Dim Dcontrol As Command1<br>
                    <br>
                      可见,对象类型包括控制和具体对象的名称(如Command1和Form1)、控制集合(如Control、CommandButton等)、窗体集合(Form)以及屏幕对象(Screen)等。这些对象类型的集合有大有小。一旦声明之后,VB将为对象变量分配内存空间(大小与具体类型有关),在内存中建立一个其指向的对象或对象集合的拷贝。<br>
                    <br>
                      并且CommandButton、Label、TextBox等控制对象又可分别看作是同一类控制的集合或总称,是CommandButton1、Label1、TextBox1等具体子对象的父对象。<br>
                    <br>
                      可见,对象变量在VB中应用极为广泛,VB中的绝大多数对象都可以有自己的对象变量。<br>
                    <b><br>
                    二、对象变量的集合和指针特性</b><br>
                    <br>
                      对象变量还可以理解为一个项目(Project)中属于某种类型对象的集合,这个集合可以有很多个对象,也可以只有一个,甚至可以是空集(即该种类型的对象在项目或窗体内不存在)。<br>
                    <br>
                      对应于对象变量的集合特性,其Count属性是一个非常重要的属性。所有对象变量都具有Count属性。一旦在程序中声明了对象变量后,该对象变量的Count属性自动记录该类对象的个数,因而通过读取Count属性值,便可了解到该类对象的个数。利用它,对同一类对象的某一共同属性进行访问或操作(如同一窗体上的所有控制的字体大小)是对象变量应用的典范之一,能极大地节省程序代码。另一方面,对一类对象进行搜寻,即可选出符合一定条件的子对象,从而达到程序智能化的目的。<br>
                    <br>
                      在对象变量声明之后,再用Set语句使一个对象变量指向一个具体的控制,这样所有与对象变量所指向的对象相关联的属性(如位置、大小、状态、内容等)均可通过对象变量来传递。这样对象变量就具有了对象的特点,可以像对象一样在程序中赋予其属性。当需要对一个指定的窗体或控件的属性进行操作时,可用过程、函数及方法对其进行访问。当用户改变一个对象变量的性质时,与之相关联的原始数据也随之而改变,因此具有了类似与过程中的通过指针传送参数的效果。这即是对象变量的指针特性。<br>
                    <br>
                      另外,Set语句还可用来简化很长的控件指针。值得注意的是,Set语句并不是单纯的变量赋值语句,它不像赋值语句一样产生对象的一个拷贝,而是把一个对象变量设定为对象指针,指向不同对象变量。<br>
                    <br>
                      下面是一个程序实例,主要完成对一个项目内所有控制的字体、字号进行统一的操作。<br>
                    <br>
                      (1)在一个全局模块文件中定义两个全局变量。<br>
                    Global Font As Control,Aform As Form<br>
                      (2)在此全局模块文件中定义一个子过程FontAllSame。具体如下:<br>
                    Sub FontAllSame( )<br>
                    For I% = 0 To Forms.Count - 1 ’Count属性值是从0开始的整数<br>
                    Set Aform = Forms(I%)<br>
                    For J% = 0 To Aform.Controls.Count - 1<br>
                    Set Font = Aform.Controls(J%)<br>
                    Font.FontName = “宋体”<br>
                    Font.FontSize = 13.5<br>
                    Next J%<br>
                    Next I%<br>
                    End Sub<br>
                      (3)在项目中的所有窗体的Activate事件中加入以下语句:<br>
                    FontAllSame<br>
                    <br>
                      通过以上程序代码,此项目中的任一窗体一经载入,其上所有控件的字体就都被指定为宋体,字号为13.5。<br>
                    <br>
                      由以上可见,如果对象变量可以指向项目中所有满足一定条件的对象,那么对对象变量进行定向操作,被指向的所有对象的属性即可按用户的意图变化,从而达到控制程序流程的目的。<br>
                    <br>
                      下面是一段可以在一个项目中搜寻到非使能控制的程序实例。<br>
                    Dim Acontrol As Control ,I as Integer<br>
                    For I = 0 To Controls.Count - 1<br>
                    If Not( Control(I).Enabled ) Then<br>
                    Set Acontrol = Control( I )<br>
                    Acontrol.Enabled = True ’非使能控制改为使能状态<br>
                    Msg1$=Acontrol.Caption + &quot;控制已改为使能状态!&quot;<br>
                    Msgbox Msg1$ <br>
                    End If<br>
                    Next I<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -