vb 表格控件 详解

 我来答
jmeycn
2013-09-21 · TA获得超过373个赞
知道小有建树答主
回答量:331
采纳率:50%
帮助的人:124万
展开全部

表格控件使用 MSFlexGrid 控件

 

  • 控件的添加

  • (1)  如图。在vb左边的工具栏上点右键选部件,在部件窗口中选择flexgrid控件,确定后就可以看到控件图标被添加到了工具栏。

 

  • (2) 新建一个Form窗口,点击MSFlexGrid 控件图标,将控件画到Form窗口。如图。在控件上点右键选属性进入属性页面,调整控件属性值。

     

  • MSFlexGrid 控件使用

    文本和图片可以同时或者单独放在 MSFlexGrid 的任何一个单元格中。Row 和 Col 属性指定了当前的 MSFlexGrid 单元格。程序员可以在代码中改变当前单元格,用户可以在运行时使用鼠标或者箭头键改变它。Text 属性提供了当前单元格内容的参考信息。

    如果单元格中的文本过长,无法全部显示在单元格的一行中,而且 WordWrap 属性被设置为 True,那么文本将回绕到同一单元格的下一行。如果需要显示被回绕的文本,需要增加单元的列宽(ColWidth 属性)或行高(RowHeight 属性)。

    使用 Col 和 Row 属性可以分别确定 MSFlexGrid 中列与行的个数。

     

  • 注意   在应用程序中使用MSFlexGrid之前,首先必须将 MSFlxGrd.ocx 文件添加到工程中。如果希望自动地将文件包含在过程之中,请将它放在 Autoload 文件中。在发布应用程序的时候,应该在用户的 Microsoft Windows System 目录下安装MSFlxGrd.ocx 。

     

     

    ====== MSFlexGrid《重要属性》《重要属性》《重要属性》 ========

     

  • (1)  FormatString 属性:设置列宽,对齐方式,固定行文本和固定列文本。

    在设计时,MSHFlexGrid 语法分析和解释 FormatString 来获得如下信息:行和列的数目、行和列标头的文本、列宽和列对齐方式。

    FormatString 属性包含由管道字符 (|) 分隔的段。管道字符之间的文本定义一列并且也可能包含特定的对齐字符。这些字符使整个列左对齐(<)、居中(^)或右对齐(>)。另外,根据缺省规定文本被指定给行 0,且文本宽度定义每一列的宽度。

    FormatString 属性可能包含一个分号 (;)。这使得字符串的余下部分被解释为行标头和行宽度信息。另外,根据缺省规定文本被指定给列 0,且最长的字符串定义列 0 的宽度。

    MSHFlexGrid 创建附加的行和列来驻留由 FormatString 定义的所有字段。如果只有几个字段被指定,附加的行和列不被删除。要删除附加的行和列,设置 Rows 和 Cols 属性。

  • 下面的示例举例说明 FormatString 属性如何工作。

 

  1. ' 设置列标头。
    s$ = "<Region |<Product |<Employee |>Sales "
    MSHFlexGrid1.FormatString = s$

     

  2. ' 设置行标头(注意开始的分号)。
    s$ = ";Name|Address|Telephone|Social Security#"
    MSHFlexGrid1.FormatString = s$

     

  3. ' 设置列和行标头。
    s$ = "|Name|Address|Telephone|Social Security#"
    s$ = s$ + ";|Robert|Jimmy|Bonzo|John Paul"
    MSHFlexGrid.FormatString = s$

     

  • (2)TextMatrix 属性

    返回或设置一个任意单元的文本内容。

    语法:object.TextMatrix(rowindex, colindex) [=string]

    示例:MSHFlexGrid1.TextMatrix(1,  2) =Rnd()

     

  • (3)MouseCol、MouseRow 属性

    按行和列坐标返回鼠标的当前位置。

    语法:object.MouseCol [=value]        object.MouseRow [=value]

     

     

    ======== MSFlexGrid  《方法》《方法》 =========

  • (1)AddItem 方法:将一个行添加到 MSHFlexGrid 控件中。不支持命名参数。

  • 语法:object.AddItem (string, index, number)

    AddItem方法的语法包含以下部分:

    部分描述
    object对象表达式,其值是“应用于”列表中的对象。
    item字符串必需的。字符串表达式,它在新增行中显示。可以用制表符(vbTab) 来分隔每个字符串,从而将多个字符串(行中的多个列)添加进去。
    Index可选的。Long类型,它代表了控件中放置新增行的位置。对于第一行来说,index= 0。如果省略index,那么新增行将成为带区中的最后一行。注意index是MSHFlexGrid中的BandColIndex。
    number可选的。Long值,指出添加行的带区号。

     

     

  • (2)RemoveItem 方法

    运行时从 MSHFlexGrid 中删除一行。这一属性不支持命名的参数

  • 语法:object.RemoveItem(index, number)

    RemoveItem 方法的语法包含如下部分:

                  部分          描述    

    • object        一个对象表达式。    

    • index         一个整数,表示 MSHFlexGrid 中要删除的行。对于第一行,index=0。    

    • number      一个 Long值,指定要从中删除行的带区。    

     

  • 说明

    这一方法删除指定的整个行。要不删除行来清除数据,使用 Clear 方法。

    在包含子记录的带区内删除一个行时,子记录被自动地删除。

     

 

  • 示例

    在该示例中,用 AddItem 方法将 100 项添加到 MSHFlexGrid 中。要试用此例,可以将代码粘贴到窗体(该窗体带有命名为 MSFlexGrid1 的 MSHFlexGrid 控件)的声明部分,然后按下 F5 键,并单击该窗体。

    Private Sub Form_Click ()
      Dim Entry, i, Msg               '声明变量。
      Msg =  "Choose OK to add 100 items to your MSFlexGrid."
      MsgBox Msg   '显示消息。
      MSHFlexGrid1.Cols = 2         '每行有两个字符串。
      For i = 1 To 100   '从 1 计数到 100。
         Entry = "Entry " & Chr(9) & I   '创建项。
         MSHFlexGrid1.AddItem Entry      '添加项。
      Next 

      Msg ="Choose OK to remove every other entry."
      MsgBox Msg                     '显示消息。
      For i =1 To 50               '决定怎样删除
         MSHFlexGrid1.RemoveItem i   '其它每一项。
      Next                         
      Msg ="Choose OK to clear all items."
      MsgBox Msg                     '显示消息。
      MSFlexGrid1.Clear               '清除列表框。
    End Sub

     

     

     

  • 编辑花了很大力气,望采纳!

     

追问
太棒了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式