MSFlexGrid控件显示和操作表格数据。其对包含字符串和图片的表格提供了灵活的排序、插入数据和格式编排功能。当与Data控件绑定时,MSFlexGrid控件只显示只读数据。
你可以在MSFlexGrid中的任何单元放置文本、图片或这二者。Row和Col属性指定MSFlexGrid控件的当前单元。你可以在代码中指定当前单元,也可以在运行时使用鼠标或键盘改变当前单元。Text属性引用了当前单元中的文本。
如果单元中的文本太长以致不能在单元中一行显示,将WordWrap属性置为True将在单元中分多行显示文本。要在单元中显示多行文本,你需要增大单元的宽度(ColWidth属性)或行高度(RowHeight属性)。
使用Cols和Rows属性确定MSFlexGrid控件中的行数和列数。
属性
OLEDropMode属性(ActiveX控件),Height, Width属性(ActiveX控件),Index属性(ActiveX控件),Left, Top属性(ActiveX控件),Tag属性(ActiveX控件),Visible属性(ActiveX控件),Object属性(ActiveX控件),ColPos属性,ColPositon, RowPosition属性,Cols, Rows属性(MSHFlexGrid),ColSel,RowSel属性,ColWidth属性(MSHFlexGrid),FillStyle属性(MSHFlexGrid),FixedCols, FixedRows属性(MSHFlexGrid),FocusRect属性,FontWidth,FontWidthBand, FontWidthFixed, FontWidthHeader属性(MSHFlexGrid),ForeColor, ForeColorBand, ForeColorFixed, ForeColorHeader, ForeColorSel属性,FormatString属性,GridColor, GirdColorBand, GridColorFixed, GridColorHeader,GridColorIndent, GridColorUnpopulated属性,GridLines, GridLinesBand,GridLinesFixed, GridLinesHeader, GridLinesIndent, GridLineUnpopulated属性(MSHFlexGrid),GridLineWidth, GridLineWidthBand, GridLineWidthFixed,GridLineWidthHeader, GridLineWidthIndent, GridLineWidthUnpopulated属性(MSHFlexGrid),HighLight属性(MSHFlexGrid),LeftCol属性(MSHFlexGrid),MergeCells属性,MergeCol, MergeRow属性,MouseCol, MouseRow属性,Name属性(MSHFlexGrid),Picture属性(MSHFlexGrid),PictureType属性,Redraw属性,RowHeight属性(MSHFlexGrid),RowHeightMin属性,RowVisible属性,RowPos属性,ScrollBars属性(MSHFlexGrid),ScrollTrack属性,SelectionMode属性,Sort属性(MSHFlexGrid),Text属性(MSHFlexGrid),TextArray属性,TextMatrix属性,TextStyle, TextStyleBand, TextStyleFixed, TextStyleHeader属性(MSHFlexGrid),TopRow属性(MSHFlexGrid),Version属性(MSHFlexGrid),WordWrap属性(MSHFlexGrid),AllowBigSelection属性,AllowUserResizing属性,BackColor, BackColorBkg, BackColorFixed, BackColorSel属性,CellAlignment属性,CellBackColor, CellForeColor属性,CellFontBold属性,CellFontItalic属性,CellFontName属性,CellFontSize属性,CellFontStrikeThrough属性,CellFontUnderline属性,CellFontWidth属性,CellHeight, CellLeft, CellTop, CellWidth属性(MSHFlexGrid),CellPicture属性,CellPictureAlignment属性,CellTextStyle属性,Clip属性(MSHFlexGrid),Col,Row属性(MSHFlexGrid),ColAlignment, ColAlignmentBand, ColAlignmentHeader属性(MSHFlexGrid),ColData, RowData, BandData属性(MSHFlexGrid),ColIsVisible属性,DataBindings属性,TabIndex属性,DragIcon属性,DragMode属性,MouseIcon属性,TabStop属性,HelpContextID属性,Parent属性,Container属性,ToolTipText属性,WhatsThisHelp属性,Appearance属性(ActiveX控件),BorderStyle属性(ActiveX控件),Enabled属性(ActiveX控件),DataSource属性(ActiveX控件),hWnd属性(ActiveX控件),MousePointer属性(ActiveX控件)。
方法
OLEDrag方法(ActiveX控件),Refresh方法(ActiveX控件),RemoveItem方法(MSHFlexGrid),AddItem方法(MSHFlexGrid),Clear方法(MSHFlexGrid),SelFocus方法,Drag方法,Move方法,ZOrder方法,ShowWhatsThis方法。
事件
RowColChange事件(MSHFlexGrid),Scroll事件(MSHFlexGrid),SelChange事件(MSHFlexGrid),Compare事件,EnterCell事件,LeaveCell事件,DragDrop事件,DragOver事件,GotFocus事件,LostFocus事件,MouseDown, MouseUp事件,MouseMove事件,OLECompleteDrag事件(ActiveX控件),OLEDragDrop事件(ActiveX控件),OLEDragOver事件(ActiveX控件),OLEGiveFeedback事件(ActiveX控件),OLESetData事件(ActiveX控件),OLEStartDrag事件(ActiveX控件),Click事件(ActiveX控件),KeyDown, KeyUp事件(ActiveX控件),KeyPress事件(ActiveX控件)。
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事件比较行。