vb 表格控件 详解
表格控件使用 MSFlexGrid 控件
(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 属性如何工作。
' 设置列标头。
s$ = "<Region |<Product |<Employee |>Sales "
MSHFlexGrid1.FormatString = s$' 设置行标头(注意开始的分号)。
s$ = ";Name|Address|Telephone|Social Security#"
MSHFlexGrid1.FormatString = s$' 设置列和行标头。
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 '添加项。
NextMsg ="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编辑花了很大力气,望采纳!
太棒了