第八章 VB中ActiveX控件的使用

   2023-02-10 学习力0
核心提示:轉自:http://wwww.hyit.edu.cn/edu/vb/study/index.htm第八章          VB中ActiveX控件的使用8.1  概述     这里的ActiveX控件是指VB标准工具箱里没有的控件,用时需从“工程”菜单里选择“部件…”(或右键单击工具箱,从快捷菜单中选择“部
轉自:http://wwww.hyit.edu.cn/edu/vb/study/index.htm

第八章          VBActiveX控件的使用

8概述

     这里的ActiveX控件是指VB标准工具箱里没有的控件,用时需从“工程”菜单里选择“部件…”(或右键单击工具箱,从快捷菜单中选择“部件…”),从部件窗口里勾上需要的控件。

常用ActiveX控件

ActiveX控件

ActiveX部件

文件名

TabStrip      页框

Windows通用控件

Microsoft  Windows Common Controls 6.0

 路径:

Windows\system\

Mscomctl.ocx

Toolbar       工具栏

StatusBar     状态栏

ProgressBar   进程条

TreeView    分层显示

ListView     排列显示

ImageList    图象列表

Slider        滑块

ImageCombo  图象组合框

CommonDialog 通用对话框

Microsoft  Common  Dialog Control 6.0 

Comdlg32.ocx


MMControl1  多媒体

Microsoft  Multimedia Control 6.0

Mci32.ocx

MediaPlayer  媒体播放器

Microsoft  Media Player

Msdxm.ocx

8.1    多选项卡对话框——页框(TabStrip

1.  设置页框的外观样式

 (1) 先在窗体上画出一个TabStrip对象;

 (2) 右击该对象,从快捷菜单中选择“属性”;

 (3) TabStrip属性窗口里选择通用General)标签,在样式(Style)列表框里选择样式;

 (4) TabStrip属性窗口里选择选项卡Tabs)标签,在标题(Caption)框里输入标题和关键字;

 (5) 如果需要的话,在工具提示文本(ToolTipText)框里输入提示信息;

 (6) TabStrip属性窗口里选择字体Font)标签,设置标题的字体(可以直接采用默认值)。

2增减标签总数

    TabStrip属性窗口里选择选项卡标签,单击插入选项卡按钮增加标签,单击删除选项卡按钮删除标签。

3.在TabStrip上显示图形

  1) 在窗体里拖入一个图象列表(ImageList)控件;

  2) 在此对象上右击,选择属性,打开属性页窗口;

  3) 选择图象标签, 单击插入图片按钮,在选定图片对话框里选择想使用的位图或图标,然后单击打开按钮;为每个想添加图形的选项卡重复此步;

  4) 单击确定按钮, ImageList里就存储了需要的图片。

  5) 选择TabStrip 进入TabStrip属性窗口并选择通用标签,在图象列表框里选择ImageList1

  6) 选择选项卡标签,单击紧挨索引框的向左或向右箭头以选择一个Tab序号。在图象框里输入一个数,输入为1,则显示刚才ImageList控件里的第一个图形,输入为2,则显示刚才ImageList控件里的第二个图形,单击确定按钮完成。

4TabStrip上放置其它控件

    在窗体上象添加普通控件一样,把每一页需要的控件添上,控件不止一个时,应该用Frame来分组,注意:除了默认的第一页上的Frame控件外,其他所有FrameVisible属性都应该设为假。

5.设计代码

    在用户选择了标签后,TabStrip要求编写代码来显示或隐藏控件。可用类似下面的代码来识别用户在哪一个项目上单击。

  Private Sub TabStrip1_Click()
    Select Case
TabStrip1.SelectedItem.key
     
  Case 1

            <选第一项时需要执行的代码>
     
  Case 2
            <选第一项时需要执行的代码>
           
……
    
End Select
  End Sub

   Private Sub TabStrip1_Click()
       
Select Case TabStrip1.SelectedItem.Key
            Case "statubar"

                   Frame2.Visible = False

                   Frame1.Visible = True
           
Case "toolbar"
                   Frame1.Visible = False

                   Frame2.Visible = True

        End Select
    
End Sub

8.2    状态栏(StatusBar)和工具栏(ToolBar

1 状态栏的作用与组成

  StatusBar 控件由 Panel(窗格) 对象组成,最多能被分成 16 Panel 对象,每一个 Panel 对象能包含文本和/或图片。控制个别窗格的外观属性包括 WidthAlignment(文本和图片的)和 Bevel(斜面)。此外,能使用 Style 属性七个值中的一个自动地显示公共数据,诸如日期、时间和键盘状态等。

2. 创建状态栏

  先在窗体上画出一个StatusBar对象,再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口,进行下面的设置:

 1 选择窗格形状

    在属性窗口里选择通用标签,在样式列表框里选择多窗格(缺省形式)或单窗格简单文本形式。

 2 添加或删除状态栏窗格

     在属性窗口里选择窗格标签,单击插入窗格按钮添加一个窗格,或单击删除窗格按钮删除一个窗格。

 3 在单窗格里显示文本

      在属性窗口里选择通用标签,在简单文本框里输入想显示在状态栏窗格里的文本。用代码显示的方式是:

    StatusBar1.SimpleText = "要显示的内容"

 4 在多窗格里显示文本或图形

   1). 在属性窗口里选择窗格标签,用索引旁的按钮选择窗格序号。

   2). 在文本框里输入想显示在状态栏窗格里的文本。用代码显示的方式是:StatusBar1.Panels(x).Text = "要显示的内容"

   3). 如果想加入图形,单击浏览按钮打开一个图形选择对话框,选择想加入的图形,然后单击打开按钮。

 5)  编写代码

   如果是一个单窗格状态栏,当用户单击状态栏时,只需用下面的事件过程来响应:

   Private Sub StatusBar1_Click()
        <要执行的代码>
   
End Sub

     如果是一个多窗格状态栏,就需要鉴别用户单击的是哪一个窗格,可用下面的事件过程来识别用户所单击的窗格:

   Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)
     
Select Case Panel.Index
         
Case 1
               
<要执行的代码>
         
Case 2
                 <
要执行的代码>
          
……
     
End Select
   
End Sub

3.创建工具栏

 1.建立工具栏

   1 在工具箱里单击工具栏图标,拖到窗体的任何位置,Visual Basic自动将ToolBar移到顶部。再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口;

   2 选择按钮标签,单击插入按钮,Visual Basic就会在工具栏上显示一个空按钮,重复此步插入多个按钮;

   3 单击确定按钮。如果想把按钮分组,首先插入一个分隔的按钮,再在对话框里将这个按钮的样式属性改为3-Separator

 2 为工具栏增加图画

   1). Visual Basic工具箱里单击ImageList图标,并将它拖到窗体的任何位置(位置不重要,因为它总是不可见的),再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口;

   2). 选择图象标签,单击插入图片,在选定图形对话框里选择想使用的位图或图标,然后单击打开按钮。为每个想添加图形的工具栏按钮重复此步。

   3). 单击确定按钮。

   4). 进入ToolBar属性对话框,选择通用标签,在图象列表框里选择刚才添加的ImageList控件。

   5). 选择按钮标签,单击紧挨Index框的向左或向右箭头以选择一个按钮序号。出现在工具栏最左边的按钮序号为1

   6). Image框里输入一个数,输入为1,则显示刚才ImageList控件里的第一个图形,输入为2,则显示刚才ImageList控件里的第二个图形。

   7). 为每个按钮重复第6步, 单击确定按钮,现在Visual Basic就会在工具栏上显示精美的图形了。

 3)为工具栏添加文本信息

      ToolBar属性对话框中选择按钮标签,在标题框里输入想显示在按钮上的文本。

 4添加ToolTips

       ToolTips是一种当点到工具按钮时弹出的小标签。ToolTips很方便,可以告诉那些新手每个按钮是干什么用的。在ToolBar属性对话框中选择按钮标签,在工具提示文本框里输入想作为ToolTip的文本。

 5)编写代码

        双击工具栏,以下面的格式输入代码就可以了:

           Private Sub Toolbar1_ButtonClick(ByVal Button As Button)
        Select Case Button.Index
           
Case 1
                 <
要执行的代码>
           
Case 2
                 <
要执行的代码>
             
……
       
End Select
   
End Sub

8.3    进程条(ProgressBar)和滑块(Slider

1. 进程条

   作用:进程条控件用于监视操作完成的进度。

   创建:在窗体上画出进程条控件,右击,选择属性,然后进行所需的外观设置。

   主要属性ProgressBar 控件有一个行程和一个当前位置。行程代表该操作的整个持续时间。当前位置则代表应用程序在完成该操作过程时的进度。Max Min 属性设置了行程的界限。Value 属性则指明了在行程范围内的当前位置。 

  (1)  Min属性代表进程条全空时的值,缺省时为0

  (2)  Max属性代表进程条全空时的值,缺省时为100

  (3)  Value属性代表进程条当前的值(但不出现在属性窗口中),它大于Min属性,小于Max属性。改变Value属性的值将改变进程条的进度显示。

    示例

    Private Sub Command1_Click()
    
  If  ProgressBar1.Value < ProgressBar1.Max Then
          ProgressBar1.Value = ProgressBar1.Value + 5
       Else
          ProgressBar1.Visible = False   
 ‘当进程条满了的时候让进程条消失
      
End If
    
End Sub

2.滑块

      Slider 控件是包含滑块和可选择性刻度标记的窗口,在窗体上画出滑块控件,右击,选择属性,然后进行下列设置:

1)选择滑块的外观

  1)方向属性决定滑块的方位,可以是垂直的或水平的滑块。

  2)滑块样式属性决定滑块标记的样子。

  3)滑块频率属性规定了沿着滑块的标记的间隔大小,缺省的状态是1,表明每个可能值都出现标记,如果把值设置为3,则每三个可能值出现一个标记。

2)滑块的主要属性及事件

    1MinMax属性

      Min属性决定滑块最左端或最顶端所代表的值。Max属性决定滑块最右端或最下端所代表的值。

  2LargeChange,SmallChange属性

     SmallChange决定在滑块两端的箭头钮上单击时改变的值。LargeChange决定在滑块上方或下方区域单击时改变的值。

  3Value属性

     Value属性代表当前滑块所处位置的值,这个值由滑块的相对位置决定。

  4Change事件

      当滑块位置发生变化时就引发了Change事件。

8.4        排列显示(ListView)控件和分层显示(TreeView 控件

1.ListView 控件

  象“资源管理器”的右侧一样,可使用四种不同视图显示项目。通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。

    可使用 ListView 控件将称作 ListItem 对象的列表条目组织成下列四种不同的视图之一:

    大(标准)图标   小图标   列表   报表

     View 属性决定在列表中控件使用何种视图显示项目。还可用 LabelWrap 属性控制列表中与项目关联的标签是否可换行显示。另外,还可管理列表中项目的排序方法和选定项目的外观。

   ListView 控件包括 ListItem ColumnHeader 对象。ListItem 对象定义 ListView 控件中项目的各种特性,如: 项目的简要描述、由 ImageList 控件提供的与项目一起出现的图标、附加的文本片段,称作子项目,它们与显示在报表视图中的 ListItem 对象关联。

     可以使用 HideColumnHeaders 属性决定是否在 ListView 控件中显示列标头。列标头可以在设计时添加,也可以在运行时添加。设计时,使用 ListView“控件属性”对话框的“列首”选项卡添加列标头。运行时,使用 Add 方法添加 ColumnHeader 对象到 ColumnHeaders 集合中。

2TreeView 控件

     该控件象“资源管理器”的左侧一样,用于显示结点( Node 对象的分层列表,每个 Node 对象均由一个标签和一个可选的位图组成。TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。

     创建了 TreeView 控件之后,可以通过设置属性与调用方法对各 Node 对象进行操作,这些操作包括添加、删除、对齐和其它操作。可以编程展开与折回 Node 对象来显示或隐藏所有子节点。

     TreeView 控件使用由 ImageList 属性指定的 ImageList 控件,来存储显示于 Node 对象的位图和图标。任何时刻,TreeView 控件只能使用一个 ImageList。这意味着,当 TreeView 控件的 Style 属性被设置成显示图像的样式时,TreeView 控件中每一项的旁边都有一个同样大小的图像。

8.5        多媒体控件

1.  多媒体控件

第八章          VB中ActiveX控件的使用    Multimedia MCI 控件管理媒体控制接口 (MCI) 设备上的多媒体文件的记录与回放。从概念上说,这种控件就是一组按钮,它被用来向诸如声卡、MIDI 序列发生器、CD-ROM 驱动器、视频 CD 播放器和视频磁带记录器及播放器等设备发出 MCI 命令。MCI 控件还支持 Windows (*.avi) 视频文件的回放。

       在允许用户从 Multimedia MCI 控件选取按钮之前,应用程序必须先将 MCI 设备打开,并在 Multimedia MCI 控件上启用适当的按钮。在 Visual Basic 中,应将 MCI Open 命令放到 Form_Load 事件中。

2.媒体播放器控件

  可以播放各种多媒体文件,主要属性有:

 (1) filename(待播放的文件名),可以在属性窗口中设置,也可以用代码实现。

 (2) AutoStart(是否自动播放),默认是True

 (3) AutoRewind(是否自动循环),默认是False

 (4) PlayCount(文件播放遍数),默认是1

第八章          VB中ActiveX控件的使用
第八章          VB中ActiveX控件的使用
第八章          VB中ActiveX控件的使用
第八章          VB中ActiveX控件的使用

 

 


8.6        图象列表(ImageList)和 图象组合框(ImageCombo

1.图象列表

    ImageList 控件是包含 ListImage 对象的集合,该集合中的每个对象都可以通过其索引或关键字被引用。ImageList 控件不能独立使用,只是作为一个便于向其它控件提供图象的资料中心。

  ImageList 控件的作用象图像的储藏室,同时,它需要第二个控件显示所储存的图像。第二个控件可以是任何能显示图像 Picture 对象的控件,也可以是特别设计的、用于绑定 ImageList 控件的 Windows 通用控件之一。这些控件包括ListViewToolBarTabStripHeaderImageCombo、和 TreeView 控件。为了与这些控件一同使用 ImageList,必须通过一个适当的属性将特定的 ImageList控件绑定到第二个控件。对于 ListView 控件,必须设置其 Icons SmallIcons 属性为 ImageList 控件。对于 TreeViewTabStripImageCombo、和 Toolbar 控件,必须设置 ImageList 属性为 ImageList 控件。

  一旦 ImageList 与某个 Windows 通用控件相关联,就可以在过程中用 Index 属性或 Key 属性的值来引用 ListImage 对象。

  当与 Windows 通用控件一起使用 ImageList 控件时,在将它绑定到第二个控件之前,按照希望的顺序将全部需要的图像插入到 ImageList。一旦 ImageList 被绑定到第二个控件 ,就不能再删除图像了,并且也不能将图像插入到 ListImages 集合中间。但是可以在集合的末尾添加图像。

2.图象组合框

      ImageCombo 控件是标准 Windows 组合框的允许绘图版本。控件列表部分中的每一项都可以有一幅指定的图片。它可以显示一个包含图片的项目列表,每一项可以有自己的图片,也可以对多个列表项使用相同的图片。

     除了支持图片之外, ImageCombo 还提供了一个对象和基于集合的列表控件。控件列表部分的每一项是一个不同的 ComboItem 对象,而且列表中的所有项组合起来构成 ComboItems 集合。这就使它容易一项一项地指定诸如标记文本、ToolTip文本、关键字值以及缩进等级等属性。

8.7        通用对话框控件

     Windows应用程序里的Open对话框,Save As对话框在各个应用程序里看起来都是一样的,通用对话框控件就可以提供这些对话框的标准功能。

1Open对话框及Save As对话框

  打开Open对话框使用ShowOpen方法,打开Save As对话框使用ShowSave方法。

  Private Sub mnuOpen_Click ()
     
On Error GoTo ErrorHandler
     
CommonDialog1.CancelError = True
     
CommonDialog1.Filter = "Text Files (*.txt)|*.txt|Batch Files (*.bat)|*.bat|All Files (*.*)|*.*"
     
CommonDialog1.ShowOpen              ' 显示打开对话框
     
Call OpenFile(CommonDialog1.FileName)
     
ErrorHandler:
  
Exit Sub
  
End Sub

      其中第三行决定了在文件格式类型栏里出现的文件类型。第五行需要一个自己的打开文件的过程,这个过程需要的参数就是通用对话框返回的文件名。通用对话框的CancelError属性设为True的话,用户单击Cancel按钮将产生一个错误信息程序,凭借这个信息程序可以检测到用户的放弃操作。

2Color对话框

    下面的过程可用用户选择的颜色作为窗体的底色。

  Private Sub mnuColor_Click ()
      
On Error GoTo CancelButton
       
CommonDialog1.CancelError = True
       
CommonDialog1.ShowColor
      
Form1.BackColor = CommonDialog1.Color
      
CancelButton:
    
Exit Sub
 
End Sub

3Fonts对话框

   下面的过程可用字体对话框改变文本框的字体:

  Private Sub mnuFonts_Click ()
     
On Error GoTo CancelButton
     
CommonDialog1.CancelError = True
     
CommonDialog1.Flags = cdlCFBoth ' Flags property must be set to cdlCFBoth
     
CommonDialog1.ShowFont ' Display Font common dialog box.
       
Text1.FontName = CommonDialog1.FontName
       
Text1.FontSize = CommonDialog1.FontSize
       
Text1.FontBold = CommonDialog1.FontBold
       
Text1.FontItalic = CommonDialog1.FontItalic
       
Text1.FontUnderline = CommonDialog1.FontUnderline
       
Text1.FontStrikethru = CommonDialog1.FontStrikethru
       
Text1.ForeColor = CommonDialog1.Color
       
CancelButton:
     
Exit Sub
  
End Sub

    代码的第三行出现了通用对话框的Flags属性决定了通用对话框的一些可选项,不过即使不赋值给Flags,代码也一样会按缺省的情况去执行的。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Windows API Reference for C#, VB.NET
    不错的.net 下用API的参考站点地址在:http://www.webtropy.com/articles/Win32-API-DllImport-art9.asp 下面摘抄分类,便于大家直接就拿来用: File, Memory, Process, Threading, Time, Console, and Comm control(kernel32.dll) _hread_hwrite_lclose_lcr
    03-16
  • 一个基于API的VB.net串口通讯类 vbnet串口通信
    VB.net的串口通讯支持总是让人觉得有所不足,在使用VB6的MsComm32.ocx时,很多人都会在VB.net的开发中觉得很困扰。    这里讲述的VB.net串口通讯类使用native代码,并且它是通API调用实现的,你会发现VB.net的串口通讯就是这么简单。    在说明如何使
    02-12
  • [VB][ASP.NET]FileUpload控件「批次上传 / 多档
    FileUpload控件「批次上传 / 多档案同时上传」的范例 (VB语法) http://www.dotblogs.com.tw/mis2000lab/archive/2008/05/14/3986.aspx    FileUpload控件真的简单好用,不使用它来作批次上传,却要改用别的方法,实在不聪明。要用就一次用到底,公开File
    02-10
  • 第二章 VB的界面设计
    轉自:http://wwww.hyit.edu.cn/edu/vb/study/index.htm第二章         VB的界面设计2.1  VB用户界面设计基础1. 概述   界面的设计有两步:先绘制控件,然后确定控件属性。   绘制控件:在工具箱里单击想画的控件,在窗体里按下鼠标并拖曳,然后
    02-10
  • C#/VB.NET 获取Excel中图片所在的行、列坐标位置
    C#/VB.NET 获取Excel中图片所在的行、列坐标位
    本文以C#和vb.net代码示例展示如何来获取Excel工作表中图片的坐标位置。这里的坐标位置是指图片左上角顶点所在的单元格行和列位置,横坐标即顶点所在的第几列、纵坐标即顶点所在的第几行。下面是获取图片位置的详细方法及步骤。【程序环境】按照如下方法来引
    02-09
  • VB操作XML
    VB操作XML
    XSL(可扩展样式表语言)是对CSS的一种扩展,功能比CSS强大得多。XML链接是在HTML链接的功能之上加以扩展,可以支持更为复杂的链接,通过XML链接,不仅可以在XML文件之间建立链接,还可以建立其他类型数据之间的链接,其规范分为三个部分:XLink语言,XPointe
    02-09
  • VB6多线程,关键段操作 vb6.0 多线程
    Option Explicit Declare Function GetLastError Lib "kernel32" () As Long 'Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long 'Declare Sub ExitThread Lib "kernel32" (Optional ByVal dwExitCode
    02-09
  • VB.NET调用IE,并且等待
                Dim p As New Process            '获得URL            aURL = GetURL()            '获得IE路径            p.StartInfo.FileName = System.Environment.GetFolderPath( _ 
    02-09
  • vb的VSFlexGrid控件 vb msflexgrid
    多行选中VSFlexGrid的SelectionMode = flexSelectionListBox,现在可以配合Ctrl进行多行选择循环取值用vsflexgrid.SelectedRows 可以得到你选择的行的总数量然后用循环可以得到具体的行中具体列的内容Dim Temp  As StringDim i As IntegerFor i =
    02-09
  • 转载-公历转换农历VB示例 公历转农历函数
    Option ExplicitPrivate LunarInfo(1 To 150) As Double '从1900-2049年这150年的农历信息码Private SolarMonth(1 To 12) As Integer '阳历12个月的天数Private Gan(1 To 10) As String '农历的天干Private Zhi(1 To 12) As String '农历的地支Private Animal
    02-09
点击排行