VB中MsFlexGrid控件的使用细则.doc_第1页
VB中MsFlexGrid控件的使用细则.doc_第2页
VB中MsFlexGrid控件的使用细则.doc_第3页
VB中MsFlexGrid控件的使用细则.doc_第4页
VB中MsFlexGrid控件的使用细则.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1VB中MsFlexGrid控件的使用细则 将文本赋值给MsFlexGrid的单元格 MsFlexGrid.TextMatrix(3,1)=”Hello” . 在MsFlexGrid控件单元格中插入背景图形 Set MsFlexGrid.CellPicture=LoadPicture(“C:temp1.bmp”) 版权申明:本站文章均来自网络. 选中某个单元 MsFlexGrid.Row=1 MsFlexGrid.Col=1 。 用粗体格式化当前选中单元 MsFlexGrid.CellFontBold=True 根据专家观察,这样的理论和现象都是值得各位站长深思的,所以希望大家多做研究学习,争取总结出更多更好的经验! 添加新的一行 使用AddItem方法,用Tab字符分开不同单元格的内容 dim row as string row=”AAA”&VBtab&”bbb” MsFlexFrid1.addItem row . 怎样来实现MSFlexGrid控件单数行背景为白色,双数的行背景为蓝色? Dim i As Integer With MSFlexGrid1 .AllowBigSelection = True 设置网格样式 .FillStyle = flexFillRepeat For i = 0 To .Rows - 1 .Row = i: .Col = .FixedCols .ColSel = .Cols() - .FixedCols - 1 If i Mod 2 = 0 Then .CellBackColor = &HC0C0C0 浅灰 Else .CellBackColor = vbBlue 兰色 End If Next i End With 。 MSFlexGrid控件如何移到最后一行 MSFlexGrid1.TopRow = MSFlexGrid1.Rows 1 版权申明:本站文章均来自网络,如有侵权,请联215,我们收到后立即删除,谢谢! 如何判断msflexgrid有无滚动条 Declare Function GetScrollRange Lib user32 (ByVal hWnd As Long, ByVal nBar As Long, lpMinPos As Long, lpMaxPos As Long) As Long Public Const SB_HORZ = &H0 Public Const SB_VERT = &H1 . Public Function VsScroll(MshGrid As MSHFlexGrid) As Boolean 判断水平滚动条的可见性 Dim i As Long VsScroll = False i = GetScrollRange(MshGrid.hWnd, SB_HORZ, lpMinPos, lpMaxPos) If lpMaxPos lpMinPos Then VsScroll = True End Function 。 Public Function HeScroll(MshGrid As MSHFlexGrid) As Boolean 判断垂直滚动条的可见性 Dim i As Long HeScroll = False i = GetScrollRange(MshGrid.hWnd, SB_VERT, lpMinPos, lpMaxPos) If lpMaxPos lpMinPos Then HeScroll = True End Function . 程序运行时,想动态增加MSFlexgrid的列数 Private Sub Form_Load()Me.MSFlexGrid1.Cols = 4MSFlexGrid1.Rows = 2For i = 0 To Me.MSFlexGrid1.Cols - 1Me.MSFlexGrid1.TextMatrix(0, i) = iMe.MSFlexGrid1.TextMatrix(1, i) = iNextEnd SubPrivate Sub Command1_Click() Me.MSFlexGrid1.Cols = Me.MSFlexGrid1.Cols + 1 增加一列 Me.MSFlexGrid1.ColPosition(4) = 2 将第四列插到第二列的前面End Sub 请教MSFlexGrid中的对齐功能的使用 设置MSFlexGrid1.ColAlignment(index)=n 得到MSFlexGrid控件中当前选中的一行 msflexgrid1.rowsel就是当前选中行 . 如何通过代码调节列宽度 msflexgrid1.colwidth(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数据列的对齐方式 ColAlignmentFixed Array/Integer设置/返回固定单元数据的对齐方式 ColAlignmentHeaderArray/Integer设置/返回固定头部单元数据的对齐方式 ColDataAyyay/Long为独立列设置/返回任意的值,以合在代码中通过这些值确定列 ColHeaderArray/Enum定义每个BAND头部是否显示 ColHeaderCaptionArray/Single定义每个BAND的列头部显示的文本 ColIsVisibleARRAY/BOOLEN返回/设置某个列是否可见 ColPosArray/Long返回某个给定列的左上角和网格左上角的距离 ColpositionArray/Long设置网格列的位置 ColsLong返回/设置网格的列数量 ColSelArray/Long设置/返回某个范围单元的起始列 ColWidthArray/Long设置/返回某个列的宽度 ColWordWrapOption Array/Integer设置/返回网格的非固定单元是否允许WRAP ColWordWrapOptionBandArray/Integer定义网格的BAND是否允许WRAP ColWordWrapOptionFixedArray/Integer定义列的固定单元是否允许WRAP ColWordWrapOptionHeaderArray/Integer定义各头部是否允许WRAP DataFieldArray/Single一个独立列绑定的数据库字段 FillStyleEnum定义改变文本或单元的其他属性是影响所有的选中单元还是只影响活动单元 FixedColsLong设置/返回固定列的列数 FixedRowsLong设置/返回固定行的行数 FocusRectEnum定义控件对当前单元的焦点表示 FontStdFont返回/设置默认字体或各单元使用的字体 FontBandArray/StdFont设置/返回各BAND使用文本的字体 FontFixedSingle设置/返回固定单元使用的字体 FontHeader Array/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定义当到达单元的边界时,网格的单元的内容是否WRAP2) 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加入下例代码Private Sub Form_Load()Text1.Move -10000, -10000, 1, 1End SubPrivate Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlueMSFlexGrid1.CellForeColor = vbWhiteText1.Text = MSFlexGrid1.TextText1.SelStart = 0Text1.SelLength = Len(Text1.Text)End SubPrivate Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd SubPrivate Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)Text1.SetFocusEnd SubPrivate Sub Text1_Change()MSFlexGrid1.Text = Text1.TextEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub又如:msflexgrid不能直接编辑,用时很不方便,不看了很多有关msflexgrid的例子,在上面放一文本框,让msflexgrid实现可以编辑功能,在此,我先谢谢各位帮助我学习的人!现我做的msflexgrid可以:1、在msflexgrid中可以直接录入数据;2、用方向键自由移动焦点;3、在picture图片框中进行打印预览,进行打印输出,导出到excel;4、用msflexgrid的合并功能制作表头(本人认为作为报表表头还真不错);5、记录中插入一行,删除一行;Option ExplicitDim I As Integer, J As IntegerPrivate Sub Command1_Click() 预览Form2.Pic.Picture = MSFlexGrid1.PictureForm2.ShowForm1.HideEnd SubPrivate Sub Command2_Click() 打印Printer.PaintPicture Form2.Pic.Picture, 0, 0End SubPrivate Sub Form_Activate() I = MSFlexGrid1.Row 单元格行 J = MSFlexGrid1.Col 单元格列 Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(J) + 20 文本的位置 Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(I) + 20 Text1.Width = MSFlexGrid1.CellWidth 文本的大小 Text1.Height = MSFlexGrid1.CellHeight Text1.Visible = True Text1 = MSFlexGrid1.TextMatrix(I, J) Text1.SelStart = 0 Text1.SelLength = Len(Text1) Text1.SetFocusEnd SubPrivate Sub MSFlexGrid1_Click() I = MSFlexGrid1.Row 单元格行 J = MSFlexGrid1.Col 单元格列 Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.ColPos(J) + 20 文本的位置 Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.RowPos(I) + 20 Text1.Width = MSFlexGrid1.CellWidth 文本的大小 Text1.Height = MSFlexGrid1.CellHe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论