完整版MSFlexGrid控件属性及使用方法整理.docx
《完整版MSFlexGrid控件属性及使用方法整理.docx》由会员分享,可在线阅读,更多相关《完整版MSFlexGrid控件属性及使用方法整理.docx(15页珍藏版)》请在冰豆网上搜索。
完整版MSFlexGrid控件属性及使用方法整理
MSFlexGrid控件属性及使用方法整理
=================================================
MSFlexGrid总行数和总列数的定义:
MSFlexGrid1.Rows= 5 '规定表格的总行数为5行
MSFlexGrid1.Cols=2 '规定表格的总列数为2行
MSFlexGrid某一单元格的文本内容
MSFlexGrid1.TextMatrix(3,0)="网站地址" '定义第3行的左边表头文本内容为:
“网站地址”
MSFlexGrid1.TextMatrix(3,2)="" 定义第3行第2列的文本内容为:
“”
右键选中MSFlexGrid的
PrivateSubMSFlexGrid1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
IfButton=vbRightButtonThen
MSFlexGrid1.Row=y/MSFlexGrid1.RowHeight(0)-0.5
MSFlexGrid1.RowSel=MSFlexGrid1.Row
'右键选种当前行---备用u3u3:
'MSFlexGrid1.Col=0
'MSFlexGrid1.ColSel=MSFlexGrid1.Cols-1
'右键选种当前单元格---备用u3u3:
'MSFlexGrid1.Col=x/MSFlexGrid1.ColWidth(0)-0.5
'MSFlexGrid1.Col=MSFlexGrid1.Col
'Text1.Text=MSFlexGrid1.Text
EndIf
EndSub
MSFlexGrid的单元格被点击时的事件
PrivateSubMSFlexGrid1_EnterCell()
MSFlexGrid1.CellBackColor=vbBlue '被点中MSFlexGrid的单元格背景变兰色
MSFlexGrid1.CellForeColor=vbWhite '字体变白色
EndSub
MSFlexGrid的单元格失去光标后的事件
PrivateSubMSFlexGrid1_LeaveCell()
MSFlexGrid1.CellBackColor=vbWhite
MSFlexGrid1.CellForeColor=vbBlue
EndSub
使MSFlexGrid的单元格内容可编辑
'前提:
新建两个text文本框,分别为text1和text1
'====================从这里开始,使单元格可以编辑
PrivateSubMSFlexGrid1_EnterCell()
MSFlexGrid1.CellBackColor=vbBlue
MSFlexGrid1.CellForeColor=vbWhite
Text1.Text=MSFlexGrid1.Text
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
PrivateSubMSFlexGrid1_LeaveCell()
MSFlexGrid1.CellBackColor=vbWhite
MSFlexGrid1.CellForeColor=vbBlue
EndSub
PrivateSubText1_Change()
MSFlexGrid1.TextMatrix(MSFlexGrid1.Row,MSFlexGrid1.Col)=Text1.Text
EndSub
PrivateSubText2_Change()'修改表头
Dimr,cAsInteger
r=MSFlexGrid1.Row
c=0
MSFlexGrid1.TextMatrix(r,0)=Text2.Text
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
SelectCaseKeyCode
CasevbKeyLeft,vbKeyRight,vbKeyUp,vbKeyDown
KeyCode=0
EndSelect
EndSub
'====================使单元格可以编辑,到此结束
MSFlexGrid选中整行和整列
右键点 MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:
“0-Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!
MSFlexGrid插入行
PrivateSubCommand1_Click()
IfMSFlexGrid1.Rows<2Then
MSFlexGrid1.AddItem"AAA"&vbTab&"bbb"
Else
MSFlexGrid1.AddItem"asdas"&vbTab&"bbb",2 '这里的数字2表示在第2行处插入行
EndIf
EndSub
MSFlexGrid删除行
MSFlexGrid1.RemoveItem3 '删除第三行。
该方法无法删除第一行。
如果发现删不了。
那一定是你的其他代码写错或冲突了u3u3
复制MSFlexGrid单元格的文本内容
Clipboard.SetTextMSFlexGrid1.TextMatrix(MSFlexGrid1.Row,MSFlexGrid1.Col)
/*******************************************************
msflexgrid中有mergecells,mergecol,mergerow属性。
MergeCells属性
返回或设置一个值,决定包含相同内容的单元是否应该跨越多行或多列分组在一个单个单元中。
语法
object.MergeCells[=value]
MergeCells属性的语法包含如下部分内容:
部分描述
object一个对象表达式,其值为“应用于”列表中的一个对象。
value一个整数或常数,指定单元分组(合并)。
如设置值中所指定。
设置值
value的设置值如下所示:
常数值描述
flexMergeNever0不显示。
包含相同内容的单元不分组。
这是缺省设置。
flexMergeFree1自由。
包含相同内容的单元总是合并。
flexMergeRestrictRows2限制行。
只有行中包含相同内容的相邻单元(向当前单元左边)才合并。
flexMergeRestrictColumns3限制列。
只有列中包含相同内容的相邻单元(向当前单元上方)才合并。
flexMergeRestrictBoth4限制行和列。
只有在行中(向左)或在列中(向上)包含相同内容的单元才合并。
说明
合并单元的能力使得您能够以一种清晰、简明的方式显示数据。
可以连同排序和MSHFlexGrid的列序函数一起合并使用单元。
要使用MSHFlexGrid的单元合并能力:
把MergeCells设置为除0以外的一个值。
(设置值之间的区别在示例中解释。
)
为要合并行和列把MergeRow和MergeCol的数组属性设置为True。
当使用单元合并能力时,MSHFlexGrid合并包含相同内容的单元。
无论什么时候单元的内容更改,合并都自动的更新。
当MergeCells被设置为除0(不显示)以外的一个值时,突出显示的选择自动关闭。
这样做是为加速重画,也是因为包含合并单元范围的选择可能导致不可预料的结果。
**************************************************************/
MergeCol、MergeRow属性
返回或设置一个值,决定哪些行和列可以把它们的内容合并。
要使用MergeCells属性,这些属性必须为True。
语法
object.MergeCol(number)[=Boolean]
object.MergeRow(number)[=Boolean]
MergeCol和MergeRows属性的语法包含如下部分:
部分描述
Object一个对象表达式,其值为“应用于”列表中的一个对象。
number一个Long值,指定MSHFlexGrid中的列或行。
Boolean一个Boolean值,指定当相邻单元显示相同内容时合并是否发生。
设置值
Boolean的设置值如下所示:
部分描述
True当相邻单元显示相同内容时,行向左合并或列向上合并。
False当相邻单元显示相同内容时,单元不合并。
这是MergeCol和MergeRow缺省设置值。
说明
如果MergeCells属性被设置为非零值,具有相同值的相邻单元,只有它们都在一行并且MergeRow属性被设置为True,或都在一列且MergeCol属性被设置为True时才合并。
关于MSHFlexGrid的合并功能的详细信息,请参阅MergeCells属性。
===================================================
MSFlexGrid属性类型说明
AllowBigSelectorBoolean返回/设置一个值,定义当在行或列的头部单击时,是否该行或列将整个被选中
AllowUseResizingEnum设置/返回一个值,定义用户是否可以调整网格行,列的尺寸
BackColorOle_Color设置/返回一网格中非固定单元的背景色
BackColorBandArray/Ole_Color设置/返回网格中每个独立BAND的背景色
BachColorBkgOle_Color设置/返回网格的背景色(单元头部除外)
BackColorFixedOle_Color设置/返回网格中固定单元的背景色
BackColorHeaderArray/Ole_Color设置/返回网格头部单元的背景色
BackColorIndentArray/Ole_Color设置/返回网格中凹痕部分的背景色
BackColorSelOle_Color设置/返回网格选中单元的背景色
BackColorUnpopulatedOle_Color设置/返回网格非用户操作区的背景色
BandDataArray/Long为独BAND设置/返回任意的值,以合在代码中通过这些值确定BAND
BandDisplayEnum定义在网格中BAND是水平还是垂直显示
BandExpandableARRAY/BOOLEN设置/返回值指明独立的BAND能否被折叠或展开
BandIndentArray/Long定义BAND划分的字段数量
BandLevelLong返回当前的单元包含的BAND总数量
BandsLong返回网格中BAND总数量
CellAlignmentInteger设置/返回一个值以定义当前单元的水平和垂直对齐方式
CellBackColorOle_Color定义当前单元的字体是否为粗体
CellFontBoldBoolean定义当前单元的字体是否为粗体
CellFontItalicBoolean定义当前单元的字体是否为斜体
CellFontNameString定义当前单元的字体名
CellFontSizeString定义当前单元的字体大小
CellFontStrikeThoughBoolean定义当前单元的字体是否为突显示
CellFontUnderlineBoolean定义当前单元的字体是有下划线
CellFontWidthSingle定义当前单元的字体宽(用点表示)
CellFontColorOle_Color设置/返回当前单元格的前景色
CellHeightLong设置/返回当前单元格的高度
CellLeftLong返回当前单元格的左边距
CellPictureStdPicture设置/返回当前单元格的图片
CellPictureAlignmentInteger设置/返回当前单元格或某范围的单元格的图像对齐方式
CelltextStyleEnum设置/返回当前单元或选中范围单元文本的3D风格
CellTopLong返回当前单元格的垂直位置
CellTypeEnum设置/返回当前单元格的类型(标准.固定)
CellWidthLong返回/设置当前的单元的宽度
ClipString设置/返回网格选定范围单元的内容
ColArray/Integer设置/返回当前单元的水平坐标
ColAlignmentArray/Integer设置/返回当前列的对齐方式
ColalignmentBandArray/Integer设置/返回BAND数据列的对齐方式
ColAlignmentFixed Array/Integer设置/返回固定单元数据的对齐方式
ColAlignmentHeaderArray/Integer设置/返回固定头部单元数据的对齐方式
ColDataAyyay/Long为独立列设置/返回任意的值,以合在代码中通过这些值确定列
ColHeaderArray/Enum定义每个BAND头部是否显示
ColHeaderCaptionArray/Single定义每个BAND的列头部显示的文本
ColIsVisibleARRAY/BOOLEN返回/设置某个列是否可见
ColPosArray/Long返回某个给定列的左上角和网格左上角的距离
ColpositionArray/Long设置网格列的位置
ColsLong返回/设置网格的列数量
ColSelArray/Long设置/返回某个范围单元的起始列
ColWidthArray/Long设置/返回某个列的宽度
ColWordWrapOptionArray/Integer设置/返回网格的非固定单元是否允许WRAP
ColWordWrapOptionBandArray/Integer定义网格的BAND是否允许WRAP
ColWordWrapOptionFixedArray/Integer定义列的固定单元是否允许WRAP
ColWordWrapOptionHeaderArray/Integer定义各头部是否允许WRAP
DataFieldArray/Single一个独立列绑定的数据库字段
FillStyleEnum定义改变文本或单元的其他属性是影响所有的选中单元还是只影响活动单元
FixedColsLong设置/返回固定列的列数
FixedRowsLong设置/返回固定行的行数
FocusRectEnum定义控件对当前单元的焦点表示
FontStdFont返回/设置默认字体或各单元使用的字体
FontBandArray/StdFont设置/返回各BAND使用文本的字体
FontFixedSingle设置/返回固定单元使用的字体
FontHeaderArray/StdFont设置/返回各头部使用的字体
FontWidthSingle设置/返回默认字体宽度
FontWidthBandArray/Single设置/返回BAND使用的字宽
FontWidthFixedSingle设置/返回固定单元使用的字宽
FontWidthHeaderArray/Single设置/返回每个头部使用的字宽
ForeColrOle_Color设置/返回网格非固定单元使用的前景色
ForeColorBandArray/Ole_Color设置/返回网格各BAND的前景色
ForeColorFixedOle_Color设置/返回网格固定单元的前景色.
ForeColorHeaderArray/Ole_Color设置/返回网格头部单元的前景色
ForeColorSelOle_Color设置/返回设置单元的前景色
FormatStringString定义一个格式串用来设置网格列的宽度,对齐方式,固定行文本固定列文本
GridColorOle_Color设置/返回网格单元间的线的颜色
GridColorBandArray/Ole_Color设置/返回网格BAND的线的颜色
GridColorFixedOle_Color设置返回网格固定单元间的线的颜色
GridColorHeaderArray/Ole_Color设置/返回网格头部间的线的颜色
GridColorIndentOle_Color设置/返回网格INDENT单元间的线的颜色
GridColorUnpopulatedOle_Color设置/返回网格UNPOPULATED区域间的颜色
GrigLineEnum定义网格单元间的线的类型
GrigLinesBandArray/Enum定义网格各BAND间的线的类型
GrigLinesFixedEnum定义网格固定单元的线的类型
GrigLinesHeaderArray/Enum定义网格各头部间的线的类型
GrigLinesIndentArray/Enum定义网格INDENT单元间的线的类型
GrigLinesUnpopulatedEnum定义网格UNPOPULATED区域间的线的类型
GrigLinesWidthInteger设置/返回网格单元间的线的宽度
GrigLinesWidthBandArray/Integer设置/返回网格各BAND间的线的宽度
GrigLinesWidthFixedInteger设置/返回网格固定单元间的线的宽度
GrigLinesWidthHeaderArray/Integer设置/返回网格各头间的线的宽度
GrigLinesWidthIndentArray/Integer设置/返回网格INDENT单元间的线的宽度
GrigLinesWidthUnpopulatedInteger设置/返回网格UNPOPULATED区域间的宽度
HieghtEnum定义如何以及何时高亮度显示网格的选中单元
LeftColLong网格最械的可见列
MergeCellsEnum设置/返回一个值表明如何及何时将有相同内容的记录进行合并
MergeColARRAY/BOOLEN设置/返回一个值表明哪些列可以将内容合并
MergeRowARRAY/BOOLEN设置/返回一个值表明哪些行可以将内容合并
MouseColLong返回鼠标光标的列坐标位置
MouseRowLong返回鼠标光标的行坐标位置
PictureStdPicture返回MSHFLEXGRID的控件快照
PictureTypeEnum设置/返回PICTURE类型
RedrawBoolean设置/返回一个值,表明MSHFLEXGRIDR控件是否在每个改变后重画
RowLong设置/返回当前单元的垂直坐标
RowDataArray/Long为各行设置/返回任意的值,以合在代码中通过这些值确定行
RowExpandableBoolean定义当前行是否可以展开
RowExpandedBoolean返回一个值表明当前行是否展开
RowHeightArray/Long设置/返回各行的高度
RowHeightMinLong设置/返回网格中行的最小高度
RowIsVisibleARRAY/BOOLEN设置/返回一个值,表明某个特定列是否可见
RowPosArray/Long返回给定行左上角和MSHFLEXGRID控件左上角的距离
RowPositionArray/Long设置某个网格行的位置
RowsLong返回网格的行的总数或者或BAND的行的总数
RowSelLong设置/返回一个范围的单元的起始行
RowSizingModeEnum设置/返回一个值表明对一行的设置是影响网格的所有行还是只影响被调整的行
ScrollBarsEnum设置/返回一个值表明MSHFLEXGRID控件的滚动条类型
ScrollTrackBoolean设置/返回一个值表明网格内容是在用户移动滚动条时随着改变还是滚动结束后改变
SelectionModeEnum设置/返回一个值表明MFHFLEXGRID控件允许的选择类型.
SortEnum根据某些村准备设置排序的值
TextString设置/返回一个单元或一个范围内单元的文本内容
TextArrayarray/string不改变ROW,COL属性,设置/返回任意单元的文本内容
TextMatrixarray/string设置/返回某个选定行,列的单元的文本内容
TextStyleEnum设置/返回网格通常单元的3D文本风格
TextStyleBandArray/Enum设置/返回网格BAND的3D文本风格
TextStyleFixedEnum设置/返回网格各固定行的3D文本风格
TextStyleHeaderArray/Enum设置/返回网格各头部的3D文本风格
TopRowLong设置/返回网格最上面的可见行
VersionInteger返回正在使用MSHFLEXGRID控件的版本
WordWrapBoolean定义当到达单元的边界时,网格的单元的内容是否WRAP
===================================================
2) MSHFLEXGRID控件的重要方法
方法说明
AddItem向网格中加入一新行
Clear清除网格中的内容
ClearStructure清除网格的结构(映射信息)
CollapseAll折叠网格的某个特定的所有行
ExpandAll展开网格的某个特定的所有行
RemoveItem从网格中清除一行
方法AddItem和RemoveItem可以用来向网格中加入或删除行(BANDS).如果折叠或展开某个BAND的所有行,则可以使用COLLAPSEALL和EXPAANDALL方法.
方法CLEAR可以清除网格中的内容,但不影响网格的行,列数,如果要清除网格的结构,包括顺序及网格各列的名称,应当使用ClearStructure方法.
===================================================
3) MSHFELXGRID的控件的主要事件
Collapse用户折叠了网格的一行
Compare当SORT属性被设置为CUSTOMERSORT,允许用户定义