VB中MsFlexGrid控件的使用细则.docx
- 文档编号:13041379
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:18
- 大小:20.27KB
VB中MsFlexGrid控件的使用细则.docx
《VB中MsFlexGrid控件的使用细则.docx》由会员分享,可在线阅读,更多相关《VB中MsFlexGrid控件的使用细则.docx(18页珍藏版)》请在冰点文库上搜索。
VB中MsFlexGrid控件的使用细则
1.VB中MsFlexGrid控件的使用细则
>>将文本赋值给MsFlexGrid的单元格
(3,1)=”Hello”.
>>在MsFlexGrid控件单元格中插入背景图形
Set=LoadPicture(“C:
\temp\”)版权申明:
本站文章均来自网络.
>>选中某个单元
=1
=1。
>>用粗体格式化当前选中单元
=True根据专家观察,这样的理论和现象都是值得各位站长深思的,所以希望大家多做研究学习,争取总结出更多更好的经验!
>>添加新的一行
使用AddItem方法,用Tab字符分开不同单元格的内容
dimrowasstring
row=”AAA”&VBtab&”bbb”
row..
>>怎样来实现MSFlexGrid控件单数行背景为白色,双数的行背景为蓝色?
DimiAsInteger
WithMSFlexGrid1
.AllowBigSelection=True’设置网格样式
.FillStyle=flexFillRepeat
Fori=0To.Rows-1
.Row=i:
.Col=.FixedCols
.ColSel=.Cols()-.FixedCols-1
IfiMod2=0Then
.CellBackColor=&HC0C0C0’浅灰
Else
.CellBackColor=vbBlue’兰色
EndIf
Nexti
EndWith。
>>MSFlexGrid控件如何移到最后一行
=–1版权申明:
本站文章均来自网络,如有侵权,请联系-215,我们收到后立即删除,谢谢!
>>如何判断msflexgrid有无滚动条
DeclareFunctionGetScrollRangeLib"user32"(ByValhWndAsLong,ByValnBarAsLong,lpMinPosAsLong,lpMaxPosAsLong)AsLong
PublicConstSB_HORZ=&H0
PublicConstSB_VERT=&H1.
PublicFunctionVsScroll(MshGridAsMSHFlexGrid)AsBoolean’判断水平滚动条的可见性
DimiAsLong
VsScroll=False
i=GetScrollRange,SB_HORZ,lpMinPos,lpMaxPos)
IflpMaxPos<>lpMinPosThenVsScroll=True
EndFunction。
PublicFunctionHeScroll(MshGridAsMSHFlexGrid)AsBoolean’判断垂直滚动条的可见性
DimiAsLong
HeScroll=False
i=GetScrollRange,SB_VERT,lpMinPos,lpMaxPos)
IflpMaxPos<>lpMinPosThenHeScroll=True
EndFunction.
>>程序运行时,想动态增加MSFlexgrid的列数
PrivateSubForm_Load()
=4
=2
Fori=0To-1
i)=i
i)=i
Next
EndSub
PrivateSubCommand1_Click()
=+1'增加一列
=2'将第四列插到第二列的前面
EndSub
>>请教MSFlexGrid中的对齐功能的使用
设置(index)=n
>>得到MSFlexGrid控件中当前选中的一行
就是当前选中行.
>>如何通过代码调节列宽度
(i)=4000..
2控件MSFlexGrid的属性和方法(VB控件)
1)属性类型说明
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数据列的对齐方式
ColAlignmentFixedArray/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)MSFLEXGRID控件的重要方法
方法说明
AddItem向网格中加入一新行
Clear清除网格中的内容
ClearStructure清除网格的结构(映射信息)
CollapseAll折叠网格的某个特定的所有行
ExpandAll展开网格的某个特定的所有行
RemoveItem从网格中清除一行
方法AddItem和RemoveItem可以用来向网格中加入或删除行(BANDS).如果折叠或展开某个BAND的所有行,则可以使用COLLAPSEALL和EXPAANDALL方法.
方法CLEAR可以清除网格中的内容,但不影响网格的行,列数,如果要清除网格的结构,包括顺序及网格各列的名称,应当使用ClearStructure方法.
3)MSFELXGRID的控件的主要事件
Collapse用户折叠了网格的一行
Compare当SORT属性被设置为CUSTOMERSORT,允许用户定义排序过程
EnterCell当一个新的单元成为当前活动单元时(获得)
Expand用户展开了网格的一行
LeaveCell当一个新单元成为当前活动单元前(离开)
RowColChange当一个新单元成为当前活动单元时
Scroll用户用键盘,滚动条滚动网格的内容或网格的内容由程序滚动时
SelChangeEvent一个新范围内的单元被选中
EnterCell,LeaveCell,RowColChange事件相互联系,因为它们都在当一个新单元成为当前活动单元时被激发,实际上这些事件的顺序是:
LeaveCell,EnterCell然后是RowColChange.
Collapse和Expand事件在用户折叠或者展开网格的一行(BAND)时被激发.属性ROW和COL可以用来确定用户折叠或者展开的单元.
当SORT属性设置为9时,对网格的每两行发生一次COMPARE事件,用户排序方法使你可以选择按照午任意列或单元对行排序.注意,使用这种排序方式的速度会慢于BUILD-IN排序.
不论采用何种方式,只要对网格进行滚动时,SCROLL事件就会被激发.当SCROLLTRACK属性设置为TRUE时,如果用户用鼠标拖动或滚动时,该事件也被激发,如果SCROLLTRACK属性被设置为FALSE时,SCROLL事件只在拖动结束后激发一次.
当选择单元格变化时,SelChangeEvent事件会被激发,对选择的单元范围的改变,可以通过用户操作或程序代码来实现.
3应用举例
在MSFLEXGRID控件中每一个CELL格的内容是不可以由用户直接编辑的但是我们可以通过一些小技巧来方便的实现这编辑功能来扩展MSFLEXGRID的应用(在实际应用中这是很常用的功能)。
你只需按下面的做即可轻松实现编辑MSFLEXGRID控件数据的功能
例在窗体上放一文本框text1,和一MSFLEXGRID控件flexgrid1
加入下例代码
PrivateSubForm_Load()
-10000,-10000,1,1
EndSub
PrivateSubMSFlexGrid1_EnterCell()
=vbBlue
=vbWhite
=
=0
=Len
EndSub
PrivateSubMSFlexGrid1_LeaveCell()
=vbWhite
=vbBlue
EndSub
PrivateSubMSFlexGrid1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
EndSub
PrivateSubText1_Change()
=
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
SelectCaseKeyCode
CasevbKeyLeft,vbKeyRight,vbKeyUp,vbKeyDown
KeyCode=0
EndSelect
EndSub
又如:
msflexgrid不能直接编辑,用时很不方便,不看了很多有关msflexgrid的例子,在上面放一文本框,让msflexgrid实现可以编辑功能,在此,我先谢谢各位帮助我学习的人!
现我做的msflexgrid可以:
1、在msflexgrid中可以直接录入数据;
2、用方向键自由移动焦点;
3、在picture图片框中进行打印预览,进行打印输出,导出到excel;
4、用msflexgrid的合并功能制作表头(本人认为作为报表表头还真不错);
5、记录中插入一行,删除一行;
OptionExplicit
DimIAsInteger,JAsInteger
PrivateSubCommand1_Click()'预览
=
EndSub
PrivateSubCommand2_Click()'打印
0,0
EndSub
PrivateSubForm_Activate()
I='单元格行
J='单元格列
=+(J)+20'文本的位置
=+(I)+20
='文本的大小
=
=True
Text1=(I,J)
=0
=Len(Text1)
EndSub
PrivateSubMSFlexGrid1_Click()
I='单元格行
J='单元格列
=+(J)+20'文本的位置
=+(I)+20
='文本的大小
=
=True
Text1=(I,J)
=0
=Len(Text1)
EndSub
PrivateSubForm_Load()
(0,1)="编号"
(0,2)="名称"
(0,3)="单位"
(0,4)="单价"
EndSub
PrivateSubMSFlexGrid1_GotFocus()'重新让文本获得焦点
IfJ-3Then
CallMSFlexGrid1_Click
Else
CallMSFlexGrid1_Click
EndIf
EndSub
PrivateSubMSFlexGrid1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
CallMSFlexGrid1_Click
EndIf
EndSub
PrivateSubText1_Change()
(I,J)=Text1
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)'文本失去焦点,响应方向健
IfKeyCode=vbKeyUpThen
=J
IfI>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB MsFlexGrid 控件 使用 细则