如何使用vc的mshflexgrid控件?
这一节包含关于 MSHFlexGrid 的控件常数的信息。注意这些常数也应用到 MSFlexGrid,除非有不同地注解。
AddModeSettings 属性 (MSHFlexGrid)
常数 值 描述
flexNoAddNew 0 当前单元不在最后行中,并且没有 AddNew 操作处于待决。
flexAddNewCurrent 1 当前单元在最后一行,但没有 AddNew 操作处于待决。
flexAddNewPending 2 当前单元在倒数第二行。这是是通过 MSHFlexGrid 用户接口由用户初始化一个待决的 AddNew 操作的结果,或者是编程地设置一个列的 Value 或 Text 属性的结果。
AllowUserResizing 属性
常数 值 描述
flexResizeNone 0 用户不能使用鼠标调整大校这是缺省设置值。
flexResizeColumns 1 用户可以使用鼠标调整列的大校
flexResizeRows 2 用户可以使用鼠标调整行的大校
flexResizeBoth 3 用户可以使用鼠标调整列和行的大校
Appearance 属性
常数 值 描述
flexFlat 0 MSHFlexGrid 的全部外观是平面的或正常的。
flex3D 1 MSHFlexGrid 的全部外观是三维的。
BorderStyle 属性
常数 值 描述
flexBorderNone 0 没有边框。
flexBorderSingle 1 有一个单边框。
CellAlignment 属性
常数 值 描述
flexAlignLeftTop 0 单元内容顶部左对齐。
flexAlignLeftCenter 1 单元内容中间左对齐。对字符串的缺省设置值。
flexAlignLeftBottom 2 单元内容底部左对齐。
flexAlignCenterTop 3 单元内容顶部居中。
flexAlignCenterCenter 4 单元内容中间居中。
flexAlignCenterBottom 5 单元内容底部居中。
flexAlignRightTop 6 单元内容顶部右对齐。
flexAlignRightCenter 7 单元内容中间右对齐。对数字的缺省设置值。
flexAlignRightBottom 8 单元内容底部右对齐。
flexAlignGeneral 9 单元内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。
CellPictureAlignment 属性
常数 值 描述
flexAlignLeftTop 0 图片顶部左对齐。
flexAlignLeftCenter 1 图片中间左对齐。
flexAlignLeftBottom 2 图片底部左对齐。
flexAlignCenterTop 3 图片顶部居中。
flexAlignCenterCenter 4 图片中间居中。
flexAlignCenterBottom 5 图片底部居中。
flexAlignRightTop 6 图片顶部右对齐。
flexAlignRightCenter 7 图片中间右对齐。
flexAlignRightBottom 8 图片底部右对齐。
CellTextStyle、TextStyle、TextStyleFixed 属性
常数 值 描述
flexTextFlat 0 文本为正常的、平面的文本。
flexTextRaised 1 文本看起来凸起。
flexTextInset 2 文本看起来凹入。
flexTextRaisedLight 3 文本看起来轻微凸起。
flexTextInsetLight 4 文本看起来轻微凹入。
CellType 属性 (MSHFlexGrid)
常数 值 描述
flexCellTypeStandard 0 单元为标准单元
flexCellTypeFixed 1 单元包含在一个固定行或列中。
flexCellTypeHeader 2 单元是一个数据带区的标头单元。
flexCellTypeIndent 3 单元用在缩进一个数据带区的一列中。
flexCellTypeUnpopulated 4 单元是一个未充填的单元。
ColAlignment 属性
常数 值 描述
flexAlignLeftTop 0 列内容顶部左对齐。
flexAlignLeftCenter 1 列内容中间左对齐。对字符串的缺省设置值。
flexAlignLeftBottom 2 列内容底部左对齐。
flexAlignCenterTop 3 列内容顶部居中。
flexAlignCenterCenter 4 列内容中间居中。
flexAlignCenterBottom 5 列内容底部居中
flexAlignRightTop 6 列内容顶部右对齐。
flexAlignRightCenter 7 列内容中间右对齐。对数值的缺省设置值。
flexAlignRightBottom 8 列内容底部右对齐。
flexAlignGeneral 9 列内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。
ColHeader 属性 (MSHFlexGrid)
常数 值 描述
flexColHeaderOn 0 为每一个带区显示标头。
flexColHeaderOff 1 没有为带区显示标头。
flexColHeaderOnce 2 为带区显示标头。如果带区被折叠,只显示一个标头。重复的标头不显示。
DisplayBandSettings 属性 (MSHFlexGrid)
常数 值 描述
flexBandDisplayHorizontal 0 MSHFlexGrid 中的带区水平显示(横向)。缺省设置值。
flexBandDisplayVertical 1 MSHFlexGrid 中的带区竖直显示(上下方向)。
DisplayCellSettings 属性 (MSHFlexGrid)
常数 值 描述
FlexCellDisplayHorizontal 0 MSHFlexGrid 中的带区水平显示(横向)。
flexCellDisplayVertical 1 MSHFlexGrid 中的带区竖直显示(上下方向)。
FillStyle 属性
常数 值 描述
flexFillSingle 0 单个。更改 Text 或任何单元属性只影响活动单元。缺省设置值。
flexFillRepeat 1 重复。更改 Text 或任何单元属性影响所有选定单元。
FocusRect 属性
常数 值 描述
flexFocusNone 0 围绕当前单元没有焦点矩形。
flexFocusLight 1 围绕当前单元有一个浅色的焦点矩形。缺省设置值。
flexFocusHeavy 2 围绕当前单元有一个深色的焦点矩形。
GridLines、GridLinesFixed 属性
常数 值 描述
flexGridNone 0 没有线。单元格之间没有线。在 MSFlexGrid 中,对 GridLines 这是缺省的设置值。
flexGridFlat 1 有线。单元格之间线风格被设置为正常的、平面的线。在 MSHFlexGrid 中,对 GridLines 这是缺省的设置。
flexGridInset 2 凹入线。单元格之间线的风格被设置为凹入线。在 MSFlexGrid 中,对 GridLinesFixed 这是缺省的设置值。
flexGridRaised 3 凸起线。单元格之间的线风格被设置为凸起线。在 MSHFlexGrid 中,对 GridLinesFixed 这是缺省的设置值。
HighLight 属性
常数 值 描述
flexHighlightNever 0 选定单元无突出显示。
flexHighlightAlways 1 选定单元总是突出显示。这是缺省设置值。
flexHighlightWithFocus 2 突出显示只在控件有焦点时才显现。
MergeCells 属性
常数 值 描述
flexMergeNever 0 不显示。包含相同内容的单元不分组。这是缺省设置值。
flexMergeFree 1 自由。包含相同内容的单元总是合并。
flexMergeRestrictRows 2 限制行。只有行中包含相同内容的相邻单元(向左)合并。
flexMergeRestrict-Columns 3 限制列。只有列中包含相同内容的相邻单元(向上)合并。
flexMergeRestrictBoth 4 限制行和列。只有在行中(向左)或在列中(向上)包含相同内容的相邻的单元合并。
MousePointer 属性
常数 值 描述
flexDefault 0 MSHFlexGrid 的轮廓。
flexArrow 1 一个箭头指针。
flexCross 2 一组十字型指针。
flexIBeam 3 一个 "I" 型标指针,来允许文本输入。
flexIcon 4 一个正方形中的方块。
flexSize 5 一个用箭头指向上方、下方、左方或右方调整大小指针。
flexSizeNESW 6 一个用箭头指向右上方和左下方调整大小指针。
flexSizeNS 7 一个用箭头指向上方和下方调整大小指针。
flexSizeNWSE 8 一个用箭头指向左上方和右下方调整大小指针。
flexSizeEW 9 一个用箭头指向左方和右方调整大小指针。
flexUpArrow 10 一个指向上方的箭头。
flexHourGlass 11 一个沙漏符号。
flexNoDrop 12 一个“不允许放下”指针。
flexCustom 13 一个自定义风格指针。
PictureType 属性
常数 值 描述
flexPictureColor 0 产生一个高品质的全色图象。
flexPictureMonochrome 1 产生一个较低品质、单色,占用较少内存的图象。
RowSizingSettings 属性 (MSHFlexGrid)
常数 值 描述
flexRowSizeIndividual 0 调整一个行的大小只更改调整的行的高度。这是缺省设置值。
flexRowSizeAll 1 调整一个行的大小更改 MSHFlexGrid 中的所有行的高度。
SelectionMode 属性
常数 值 描述
flexSelectionFree 0 自由。允许选定 MSHFlexGrid 中的个别单元,电子数据表风格。(缺省设置值)
flexSelectionByRow 1 按行。强制跨越整个行选择,如在一个多列列表框或基于记录的显示。
flexSelectionByColumn 2 按列。强制跨越整个列选择,如同为一个图表选择范围或为排序选择字段。
ScrollBars 属性
常数 值 描述
flexScrollNone 0 MSHFlexGrid 没有滚动条。
flexScrollHorizontal 1 MSHFlexGrid 有一个水平的滚动条。
flexScrollVertical 2 MSHFlexGrid 有一个竖直的滚动条。
flexScrollBoth 3 MSHFlexGrid 有水平和竖直的滚动条。这是缺省设置值。
Sort 属性
常数 值 描述
flexSortNone 0 无。不执行排序。
flexSortGenericAscending 1 一般升序。执行估计文本不管是字符串或者是数值的升序排序。
flexSortGenericDescending 2 一般降序。执行估计文本不管是字符串或者是数值的降序排序。
flexSortNumericAscending 3 数值升序。执行把字符串变换为数值的升序排序。
flexSortNumericDescending 4 数值降序。执行把字符串变换为数值的降序排序。
flexSortStringNoCaseAsending 5 字符串升序。执行不区分大小写字符串比较的升序排序。
flexSortNoCaseDescending 6 字符串降序。执行不区分大小写字符串比较的降序排序。
flexSortStringAscending 7 字符串升序。执行区分大小写字符串比较的升序排序。
flexSortStringDescending 8 字符串降序。执行区分大小写字符串比较的降序排序。
flexSortCustom 9 自定义,使用 Compare 事件比较行。
Microsoft Hierarchical FlexGrid (MSHFlexGrid) 控件对表格数据进行显示和操作。在对包含字符串和图片的表格进行分类、合并以及格式化时,具有完全的灵活性。当绑定到 Data 控件上时,MSHFlexGrid 所显示的是只读数据。
语法
MSHFlexGrid
说明
可以将文本、图片,或者文本和图片,放在MSHFlexGrid 的任意单元中。Row 和 Col 属性指定了MSHFlexGrid 中的当前单元。程序员可以在代码中指定当前单元,也可以在运行时,使用鼠标或者方向键来对其进行修改。Text 属性引用当前单元的内容。
如果单元的文本过长而不能在该单元中显示,而且 WordWrap 属性被设置为 True,那么文本就会换行到同一单元内的下一行。为了显示换行的文本,可能需要增加单元的列宽度(ColWidth 属性)或者行高度(RowHeight 属性)。
可以用 Cols 和 Rows 属性来决定MSHFlexGrid 控件中的列数和行数。
显示层次结构记录集
MSHFlexGrid 控件的一个主要特性是它能显示层次结构记录集—以层次结构方式显示的关系表。创建层次结构记录集的最容易的方法是使用数据环境设计器并把 MSHFlexGrid 控件的 DataSource 属性赋给数据环境。您也可以用 Shape 命令作为 ADO Data Control 的 RecordSource 在代码中创建层次结构记录,如下面的示例:
' 创建 ConnectionString.
Dim strCn As String
strCn = "Provider=MSDataShape.1;Data Source=Nwind;" & _
"Connect Timeout=15;Data Provider=MSDASQL"
' 创建 Shape 命令.
Dim strSh As String
strSh = "SHAPE {SELECT * FROM `Customers`} AS Customers " & _
"APPEND ({SELECT * FROM `Orders`} AS Orders RELATE " & _
"CustomerID TO CustomerID) AS Orders"
' 把 ConnectionString 赋给 ADO Data Control 的
' ConnectionString 属性, Shape 命令以及
' 控件的 RecordSource 属性.
With Adodc1
.ConnectionString = strCn
.RecordSource = strSh
End With
' 把 HflexGrid 控件的 DataSource 属性设置到
' ADO Data 控件。
Set HFlexGrid1.DataSource = Adodc1
详细信息 要查找有关分层记录集的更多信息,请参阅 Hierarchical Cursors and Data Shaping Summary. Shape 命令的详细信息可参阅 Shape Commands in General.
发行注意 在应用程序中使用 MSHFlexGrid 控件之前,必须将 MSHFlxGrd.ocx 文件添加到工程中。为了将该文件自动包括到工程中,可以把它放到自动装载文件中。当发行应用程序时,应该将 MSHFlxGrd.ocx 文件安装到用户的 Microsoft Windows 的 System 子目录下。关于将 ActiveX 控件添加到工程中的详细信息,请参阅《Visual Basic程序员指南》中的“标准 ActiveX 控件”。
本文地址:http://www.45fan.com/dnjc/71393.html