MSFlexGrid控件详解

合集下载

VBMSFlexGrid控件的几种使用方法

VBMSFlexGrid控件的几种使用方法

VBMSFlexGrid控件的几种使用方法'MSFlexGrid赋值的方法MSFlexGrid1.TextMatrix(0, 1) = "老师"MSFlexGrid1.TextMatrix(1, 2) = "学生"MSFlexGrid1.TextMatrix(2, 3) = "校长"MSFlexGrid1.TextMatrix(3, 4) = "班主任"MSFlexGrid1.TextMatrix(4, 5) = "教务主任"MSFlexGrid1.AddItem 2MSFlexGrid1.AddItem 4MSFlexGrid1.AddItem 6MSFlexGrid1.AddItem 8``MSFLEXGRID 中如何取的某个单元格的数据Private Sub MSFlexGrid1_Click()MsgBox MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col), vbOKOnly, "提示消息"End SubMSFlexGrid1.Row,表格中的当前行MSFlexGrid1.Col,表格中的当前列'初始化MSFlexGridDim i As IntegerMSFlexGrid1.Rows = 0For i = 0 To 10MSFlexGrid1.AddItem "AA" + Str(i)'For i = 0 To 10MSFlexGrid1.Col = 1MSFlexGrid1.Row = iMSFlexGrid1.Text = CStr(i)MSFlexGrid1.Col = 2MSFlexGrid1.Row = iMSFlexGrid1.Text = CStr(i) & CStr(i)MSFlexGrid1.Col = 3MSFlexGrid1.Row = iMSFlexGrid1.Text = CStr(i) & CStr(i) & CStr(i)Next i'实现MSFlexGrid控件,单行背景为浅灰,双行为兰色Dim j As IntegerWith MSFlexGrid1.AllowBigSelection = True ' 设置网格样式.FillStyle = flexFillRepeatFor j = 0 To .Rows - 1.Row = j: .Col = .FixedCols.ColSel = .Cols() - .FixedCols - 1If j Mod 2 = 0 Then.CellBackColor = &HC0C0C0 ' 浅灰Else.CellBackColor = vbBlue ' 兰色End IfNext jEnd With'在MsFlexGrid控件单元格中插入背景图形Set MSFlexGrid1.CellPicture = LoadPicture("f:\temp\snow.bmp")'MSFlexGrid控件如何移到最后一行MSFlexGrid1.TopRow = MSFlexGrid1.Rows - 1'隐藏第一行'Private Sub Command1_Click1()'MSFlexGrid1.RowHeight(1) = 0'End Sub'隐藏第一列'Private Sub Command_Click2()'MSFlexGrid1.ColWidth(1) = 0'End Sub在MSFlexGrid上点击右键,选择属性,选择"选择模式",自己任选点击得到行代码msgrid1.Col就是你选择的列号msgrid1.Row 就是你选择的行号msgrid1.text就是你选择单元格的内容。

MsFlexGrid控件资料

MsFlexGrid控件资料

MsFlexGrid控件资料VB--MSHFLEXGRID常用的性属,方法事件(转转一)(2009-08-28 16:23:43) 转转,it1) MSHFLEXGRID的重要性属.MSHFLEXGRID的性非常多属,其转转大部分的性和格的转示的外转有转属网.在MSDN里,转些性足以人得眼花转的了属将搞乱(我相信有耐性一一地转你没个个翻).下面列出常用的性属,方法事件及其转要转明.以便转转.属性转型转明AllowBigSelector Boolean 返回/转置一转个,定转在行或列的转部转转转当,是否转行或列将个整被转中AllowUseResizing Enum 转置/返回一转个,定转用转是否可以转整格行网,列的尺寸BackColor Ole_Color 转置/返回一格中非固定转元的背景色网BackColorBand Array/Ole_Color 转置/返回格中每立网个独BAND的背景色BachColorBkg Ole_Color 转置/返回格的背景色网(转元转部除外)BackColorFixed Ole_Color 转置/返回格中固定转元的背景色网BackColorHeader Array/Ole_Color 转置/返回格转部转元的背景色网BackColorIndent Array/Ole_Color 转置/返回格中凹痕部分的背景色网BackColorSel Ole_Color 转置/返回格转中转元的背景色网BackColorUnpopulated Ole_Color 转置/返回格非用转操作的背景色网区BandData Array/Long 转独BAND转置/返回任意的转,以合在代转中通转转些转定确BANDBandDisplay Enum 定转在格中网BAND是水平转是垂直转示BandExpandable ARRAY/BOOLEN 转置/返回转指明立的独BAND能否被折或叠展转BandIndent Array/Long 定转BAND划数分的字段量BandLevel Long 返回前的转元包含的当BAND转量数Bands Long 返回格中网BAND转量数CellAlignment Integer 转置/返回一转以定转前转元的水平和垂直转转方式个当CellBackColor Ole_Color 定转前转元的字是否转粗当体体CellFontBold Boolean 定转前转元的字是否转粗当体体CellFontItalic Boolean 定转前转元的字是否转斜当体体CellFontName String 定转前转元的字名当体CellFontSize String 定转前转元的字大小当体CellFontStrikeThough Boolean 定转前转元的字是否转突转示当体CellFontUnderline Boolean 定转前转元的字是有下转当体划CellFontWidth Single 定转前转元的字转当体(用点表示)CellFontColor Ole_Color 转置/返回前转元格的前景色当CellHeight Long 转置/返回前转元格的高度当CellLeft Long 返回前转元格的左转距当CellPicture StdPicture 转置/返回前转元格的转片当CellPictureAlignment Integer 转置/返回前转元格或某范转的转元格的转像转转方式当CelltextStyle Enum 转置/返回前转元或转中范转转元文本的当3D转格CellTop Long 返回前转元格的垂直位置当CellType Enum 转置/返回前转元格的转型当(转准.固定)CellWidth Long 返回/转置前的转元的转度当Clip String 转置/返回格转定范转转元的容网内Col Array/Integer 转置/返回前转元的水平坐转当ColAlignment Array/Integer 转置/返回前列的转转方式当ColalignmentBand Array/Integer 转置/返回BAND数据列的转转方式ColAlignmentFixed Array/Integer 转置/返回固定转元据的转转方式数ColAlignmentHeader Array/Integer 转置/返回固定转部转元据的转转方式数ColData Ayyay/Long 转立列转置独/返回任意的转,以合在代转中通转转些转定列确ColHeader Array/Enum 定转每个BAND转部是否转示ColHeaderCaption Array/Single 定转每个BAND的列转部转示的文本ColIsVisible ARRAY/BOOLEN 返回/转置某列是否可转个ColPos Array/Long 返回某转定列的左上角和格左上角的距个网离Colposition Array/Long 转置格列的位置网Cols Long 返回/转置格的列量网数ColSel Array/Long 转置/返回某范转转元的起始列个ColWidth Array/Long 转置/返回某列的转度个ColWordWrapOption Array/Integer 转置/返回格的非固定转元是否允转网WRAPColWordWrapOptionBand Array/Integer 定转格的网BAND是否允转WRAPColWordWrapOptionFixed Array/Integer 定转列的固定转元是否允转WRAPColWordWrapOptionHeader Array/Integer 定转各转部是否允转WRAPDataField Array/Single 一立列转定的据转字段个独数FillStyle Enum 定转改转文本或转元的其他性是影所有的转中转元转是只影活转转属响响元FixedCols Long 转置/返回固定列的列数FixedRows Long 转置/返回固定行的行数FocusRect Enum 定转控件转前转元的焦点表示当Font StdFont 返回/转置默转字或各转元使用的字体体FontBand Array/StdFont 转置/返回各BAND使用文本的字体FontFixed Single 转置/返回固定转元使用的字体FontHeader Array/StdFont 转置/返回各转部使用的字体FontWidth Single 转置/返回默转字转度体FontWidthBand Array/Single 转置/返回BAND使用的字转FontWidthFixed Single 转置/返回固定转元使用的字转FontWidthHeader Array/Single 转置/返回每转部使用的字转个ForeColr Ole_Color 转置/返回格非固定转元使用的前景色网ForeColorBand Array/Ole_Color 转置/返回格各网BAND的前景色ForeColorFixed Ole_Color 转置/返回格固定转元的前景色网.ForeColorHeader Array/Ole_Color 转置/返回格转部转元的前景色网ForeColorSel Ole_Color 转置/返回转置转元的前景色FormatString String 定转一格式串用转置格列的转度个来网,转转方式,固定行文本固定列文本GridColor Ole_Color 转置/返回格转元转的转的转色网GridColorBand Array/Ole_Color 转置/返回格网BAND的转的转色GridColorFixed Ole_Color 转置返回格固定转元转的转的转色网GridColorHeader Array/Ole_Color 转置/返回格转部转的转的转色网GridColorIndent Ole_Color 转置/返回格网INDENT转元转的转的转色GridColorUnpopulated Ole_Color 转置/返回格网UNPOPULATED区域转的转色GrigLine Enum 定转格转元转的转的转型网GrigLinesBand Array/Enum 定转格各网BAND转的转的转型GrigLinesFixed Enum 定转格固定转元的转的转型网GrigLinesHeader Array/Enum 定转格各转部转的转的转型网GrigLinesIndent Array/Enum 定转格网INDENT转元转的转的转型GrigLinesUnpopulated Enum 定转格网UNPOPULATED区域转的转的转型GrigLinesWidth Integer 转置/返回格转元转的转的转度网GrigLinesWidthBand Array/Integer 转置/返回格各网BAND转的转的转度GrigLinesWidthFixed Integer 转置/返回格固定转元转的转的转度网GrigLinesWidthHeader Array/Integer 转置/返回格各转转的转的转度网GrigLinesWidthIndent Array/Integer 转置/返回格网INDENT转元转的转的转度GrigLinesWidthUnpopulated Integer 转置/返回格网UNPOPULATED区域转的转度Hieght Enum 定转如何以及何转高亮度转示格的转中转元网LeftCol Long 网格最械的可转列MergeCells Enum 转置/返回一转表明如何及何转有相同容的转转转行合个将内并MergeCol ARRAY/BOOLEN 转置/返回一转表明些列可以容合个哪将内并MergeRow ARRAY/BOOLEN 转置/返回一转表明些行可以容合个哪将内并MouseCol Long 返回鼠转光转的列坐转位置MouseRow Long 返回鼠转光转的行坐转位置Picture StdPicture 返回MSHFLEXGRID的控件快照PictureType Enum 转置/返回PICTURE转型Redraw Boolean 转置/返回一转个,表明MSHFLEXGRIDR控件是否在每改转后重个画Row Long 转置/返回前转元的垂直坐转当RowData Array/Long 转各行转置/返回任意的转,以合在代转中通转转些转定行确RowExpandable Boolean 定转前行是否可以展转当RowExpanded Boolean 返回一转表明前行是否展转个当RowHeight Array/Long 转置/返回各行的高度RowHeightMin Long 转置/返回格中行的最小高度网RowIsVisible ARRAY/BOOLEN 转置/返回一转个,表明某特定列是否可转个RowPos Array/Long 返回转定行左上角和MSHFLEXGRID控件左上角的距离RowPosition Array/Long 转置某格行的位置个网Rows Long 返回格的行的转或者或网数BAND的行的转数RowSel Long 转置/返回一范转的转元的起始行个RowSizingMode Enum 转置/返回一转表明转一行的转置是影格的所有行转是个响网只影被转整的行响ScrollBars Enum 转置/返回一转表明个MSHFLEXGRID控件的转转转型条ScrollTrack Boolean 转置/返回一转表明格容是在用转移转转转转转着改转转是个网内条随转转转束后改转SelectionMode Enum 转置/返回一转表明个MFHFLEXGRID控件允转的转转转型.Sort Enum 根据某些村准转转置排序的转Text String 转置/返回一转元或一范转转元的文本容个个内内TextArray array/string 不改转ROW,COL属性,转置/返回任意转元的文本容内TextMatrix array/string 转置/返回某转定行个,列的转元的文本容内TextStyle Enum 转置/返回格通常转元的网3D文本转格TextStyleBand Array/Enum 转置/返回格网BAND的3D文本转格TextStyleFixed Enum 转置/返回格各固定行的网3D文本转格TextStyleHeader Array/Enum 转置/返回格各转部的网3D文本转格TopRow Long 转置/返回格最上面的可转行网Version Integer 返回正在使用MSHFLEXGRID控件的版本WordWrap Boolean 定转到转元的转界转当达,网内格的转元的容是否WRAP2) MSHFLEXGRID控件的重要方法方法转明AddItem 向格中加入一新行网Clear 清网内除格中的容ClearStructure 清网构除格的转(映射信息)CollapseAll 折格的某特定的所有行叠网个ExpandAll 展转格的某特定的所有行网个RemoveItem 从网清格中除一行方法AddItem和RemoveItem可以用向格中加入或转除行来网(BANDS).如果折叠个或展转某BAND的所有行,转可以使用COLLAPSEALL和EXPAANDALL方法.方法CLEAR可以除格中的容清网内,但不影格的行响网,列数,如果要除格的清网转构,包括转序及格各列的名网称,转使用当ClearStructure方法.3) MSHFELXGRID的控件的主要事件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事件被激转会,转转转的转元范转的改转,可以通转用转操作或程序代转转转来.1) MSHFLEXGRID的转转.转于MSHFLEXGRID的转转,很多转都有介转.一般都是用一个TEXTBOX作转的转入框,通转移转TEXTBOX来达到转似于EXCEL的转转功能.很多转介转的方法是在MOUSEDOWN或CLICK事件中移转TEXTBOX,然后,再在LeaveCell事件中写入.本文的方法其有转似之转与,但亦有小转不同,主要在入格转写网,在TEXTBOX的Change事件中入写.2)网内与格容的保存加转转于格的保存网,一般人喜转使用.Clip属性,将个网写个整格一次性地入一文件中,当然,在文件不大转,转然是一好转法当个.但是,当网达几几格到千行万行转,转方法个好象不是好很.(各位如果有转趣的转,可以转转下面的程序) ‘格转置成将网5000*12,然后用机充格随数填网.然后,转用下面程序Private Sub Command4_Click()Dim msgStr As StringDim FileID As LongDim T1 As DateDim T2 As DateT1 = Timer()With MSHFlexGrid1.Row = 0.Col = 0.RowSel = .Rows - 1.ColSel = .Cols - 1FileID = FreeFilemsgStr = .ClipOpen "C:\LX.TXT" For Output As #FileIDPrint #FileID, msgStrClose #FileIDEnd WithT2 = Timer()MsgBox T2 - T1End Sub反正我的感转是:好象死机一般,要转一分多转后转算机才能反转转来(转转是82.5秒左右,我的转算机是:AMD2500+,512M内存).转什转一次性的入如此的慢写会呢?转大是有的人想不到的地方概.其转,转跟VB转理字符串的机制有转,如果转理5K的字符串要一秒的转,那转,转理30K的字符串转不是转理5K的6,而是转得多.转转转系乎是呈某转何转的转系几几数.明白了VB原转理大字符串的效率原是转转底来来.那转,解的转法自然就有了决.就是一字个:拆,将拆将会大小大大地加快转理字符串的速度.所以,下面的格的保存函的主要思想就格中的据分步保存网数将网数,每一次保存一小部分.直到整格保存完成个网.当然,其中转有一些转小的技巧,例如:保存转先将将网格中的行,列,固定行,固定列的转保存数,然后,保存各列的转度,再然后正式保存据数.转都是转了加转的方便快捷作了一定的转理与.(参考下面的程序) Option ExplicitDim m_Row As LongDim m_Col As LongPrivate Sub Command3_Click()'填网充格Dim R As LongDim C As LongFor R = 0 To MSHFlexGrid1.Rows - 1For C = 0 To MSHFlexGrid1.Cols - 1MSHFlexGrid1.TextMatrix(R, C) = R & CNextNextEnd SubPrivate Sub Form_Load()With MSHFlexGrid1Text1.Visible = False.RowHeight(-1) = 285'转定格是网5000行.12列..Rows = 5000: .Cols = 12End WithEnd Sub'保存文件Private Sub Command1_Click()Call SaveFile(MSHFlexGrid1, "c:\kk.grd")End Sub'加转文件Private Sub Command2_Click()Call LoadFile(MSHFlexGrid1, "c:\kk.grd")End SubPrivate Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, xAs Single, y As Single)Text1.Visible = FalseWith MSHFlexGrid1m_Row = .MouseRowm_Col = .MouseColIf m_Row < .FixedRows Then m_Row = .FixedRowsIf m_Col < .FixedCols Then m_Col = .FixedCols.Row = m_Row: .Col = m_ColText1.Move .Left + .CellLeft, .Top+ .CellTop, .CellWidth, .CellHeightText1.Text = .TextText1.Visible = TrueText1.SetFocusEnd WithEnd SubPrivate Sub Text1_Change()With MSHFlexGrid1.TextMatrix(m_Row, m_Col) = Text1End WithEnd Sub'//**以下是相转的功能函数''加转一文件到表格个.'函数:LoadFileToGrid'参数:MsgObj Mshfelxgrid控件名,FileName 加转的文件名'返回转:=True 成功.=True 失转.Public Function LoadFile(MsgObj As Control, FileName As String) As LongDim InputID As Long, FileID As LongDim EndRow As Long, DltAdd As LongDim AddFlag As BooleanDim KeyTab As String, KeyEnter As StringDim FixedRows As Long, FixedCols As LongDim GridInput As String, AddSum As String, RowColMax() As String Dim GridColMax As Long, GridRowMax As LongDim OleRow As Long, OleCol As LongDim SumFmtStr As StringDim DltCol As LongOn Error Resume NextWith MsgObj.Redraw = FalseErr.Clear: SetAttr FileName, 0If Err.Number <> 0 Then '如果文件不存在Err.ClearCall SaveFile(MsgObj, FileName).Redraw = TrueExit FunctionEnd IfKeyTab = Chr$(vbKeyTab): KeyEnter = Chr$(13)InputID = 0: AddSum = ""AddFlag = False: DltAdd = 25: DltCol = 1.Redraw = False: .FixedRows = 0: .FixedCols = 0FileID = FreeFileOpen FileName For Input As #FileIDDo While Not EOF(FileID) ' 循转至文件尾。

VB MSHFlexGrid控件

VB MSHFlexGrid控件

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 StringstrCn = "Provider=MSDataShape.1;Data Source=Nwind;" & _"Connect Timeout=15;Data Provider=MSDASQL"' 创建 Shape 命令.Dim strSh As StringstrSh = "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 = strShEnd With' 把 HflexGrid 控件的 DataSource 属性设置到' ADO Data 控件。

VB编程中网格控件的选用及使用

VB编程中网格控件的选用及使用

VB编程中网格控件的选用及使用在VB编程中,网格控件(Grid Control)是一种非常常见的控件。

它可以在程序界面中方便地展示和编辑表格数据,实现数据的快速查找、排序和过滤等功能。

本文将介绍VB编程中网格控件的选用及使用。

一、网格控件的选用在VB编程中,常见的网格控件包括MSFlexGrid、VSFlexGrid、True DBGrid等。

下面将逐一对它们进行介绍。

1.1 MSFlexGridMSFlexGrid是VB 6.0自带的网格控件,它的优点在于易于使用和轻量级。

MSFlexGrid可以显示文本、数值、日期、图像等类型的数据,并支持排序、过滤等基本操作,可以满足大部分数据展示的需求。

MSFlexGrid的缺点在于功能相对较为简单,不能进行复杂的数据操作和自定义样式的渲染。

1.2 VSFlexGridVSFlexGrid是由ComponentOne公司开发的一个强大的网格控件,它的优点在于功能非常丰富,支持多种数据格式和数据操作,可以进行自定义样式的渲染,可以满足更复杂的数据展示需求。

VSFlexGrid的缺点在于相对较为复杂和庞大,同时需要购买设置许可证。

1.3 True DBGridTrue DBGrid是由ComponentOne公司开发的一个类似于VSFlexGrid的网格控件,它的优点在于功能非常强大,支持多种数据格式和数据操作,支持复杂的分组和联合查询,可以进行自定义样式的渲染,同时支持数据绑定和数据关系的处理,是一个集成性较强的网格控件。

True DBGrid的缺点在于更为复杂和庞大,需要购买设置许可证,同时也不如VSFlexGrid得到广泛的支持和使用。

二、网格控件的使用在VB编程中,网格控件的使用相对简单,主要分为以下几个方面。

2.1 网格控件的引用网格控件需要在程序中进行引用后才能使用,通常的方法是使用“工具箱”中的“组件”进行引用。

以MSFlexGrid为例,在程序中引用MSFlexGrid的代码如下:Private WithEvents FlexGrid1 As MSFlexGrid这样就可以在程序中使用MSFlexGrid了。

MSFlexGrid表格控件详细说明

MSFlexGrid表格控件详细说明

MSFlexGrid 表格控件详细说明控件名:Microsoft FlexGrid Control文件:sys\msflxgrd.ocx============================= 属性=========================================■AllowBigSelection 属性在行头或者列头上单击时,(是否)可以使得整个行或者列都被选中。

■AllowUserResizing 属性 (是否)可以用鼠标来对 MSFlexGrid 控件中行和列的大小进行重新调整。

-------------------------------------■Appearance 属性设计时的绘图风格■BorderStyle 属性边框样式-------------------------------------■BackColorBkg 属性 '表格多余部分颜色■BackColorFixed 属性 '表格头部分颜色■BackColorSel属性 '选中部分颜色■BackColor属性 '所有未确定单元的颜色■CellBackColor 和 CellForeColor 属性返回或设置单个单元或者一群单元的背景和前景颜色。

-------------------------------------■ForeColor、ForeColorFixed 以及 ForeColorSel 属性各部分上文本的颜色。

■TextStyle 和 TextStyleFixed[= style ] 属性返回或设置指定单元或者一群单元上文本的三维样式。

----------------------------------------■FixedAlignment (index)= [value] 属性列号,设置值flexAlignLeftTop 0 左顶部flexAlignLeftCenter 1 左中flexAlignLeftBottom 2 左底部flexAlignCenterTop 3 中顶部flexAlignCenterCenter 4 中中flexAlignCenterBottom 5 中底部flexAlignRightTop 6 右顶部flexAlignRightCenter 7 右中flexAlignRightBottom 8 右底部■ColAlignment(number) 属性 [= value ] 返回或设置某一列中数据的对齐方式number=列号,或者 -1(一次性地对所有列进行设置)。

MSFlexGrid控件

MSFlexGrid控件

MSFlexGrid控件MSFlexGrid控件显示和操作表格数据。

其对包含字符串和图片的表格提供了灵活的排序、插入数据和格式编排功能。

当与Data控件绑定时,MSFlexGrid控件只显示只读数据。

你可以在MSFlexGrid中的任何单元放置文本、图片或这二者。

Row和Col属性指定MSFlexGrid控件的当前单元。

你可以在代码中指定当前单元,也可以在运行时使用鼠标或键盘改变当前单元。

Text属性引用了当前单元中的文本。

如果单元中的文本太长以致不能在单元中一行显示,将WordWrap属性置为True将在单元中分多行显示文本。

要在单元中显示多行文本,你需要增大单元的宽度(ColWidth属性)或行高度(RowHeight属性)。

使用Cols和Rows属性确定MSFlexGrid控件中的行数和列数。

MSFlexGrid特有事件※注1:MSFlexGrid控件的特有事件全部是不带参数的,要注意与DataGrid控件的同名事件区分※注2:执行顺序:LeaveCell → SelChange → EnterCell → RowColChange◇SelChange事件 (DISPID = 69)Private Sub object_SelChange()void OnSelChange(void);◇RowColChange事件 (DISPID = 70)Private Sub object_RowColChange()void OnRowColChange(void);◇EnterCell事件 (DISPID = 71)Private Sub object_EnterCell()void OnEnterCell(void);◇LeaveCell事件 (DISPID = 72)Private Sub object_LeaveCell()void OnLeaveCell(void);◇Scroll事件 (DISPID = 73)Private Sub object_Scroll()void OnScroll(void);◇Compare事件Private Sub object_Compare(row1, row2, cmp)void OnCompare(long nRow1, long nRow2, CMP_FUNC pFunc)ActiveX控件事件。

wincc msflexgrid控件的用法

wincc msflexgrid控件的用法

wincc msflexgrid控件的用法在Siemens WinCC 中,`MSFlexGrid` 控件通常被称为"Grid" 或"FlexGrid" 控件,用于在界面上显示和编辑表格数据。

以下是一些基本的`MSFlexGrid` 控件的用法示例:1. 在窗体上添加MSFlexGrid 控件:-打开WinCC 项目。

-在画面设计器中,找到"FlexGrid" 或"Grid" 控件。

-将控件拖放到你想要显示表格的位置。

2. 设置MSFlexGrid 的属性:-双击`MSFlexGrid` 控件,打开属性窗口。

-在属性窗口中,你可以设置行数、列数、列标题、单元格格式等。

3. 通过代码设置和读取数据:-在WinCC 的VBScript 或ANSI C 脚本中,你可以使用代码操纵`MSFlexGrid` 控件。

-设置单元格的值:```vbMSFlexGrid1.TextMatrix(1, 1) = "Hello"```-读取单元格的值:```vbDim cellValuecellValue = MSFlexGrid1.TextMatrix(1, 1)```4. 处理事件:- `MSFlexGrid` 控件支持一些事件,你可以在脚本中处理这些事件。

例如,点击单元格的事件:```vbSub MSFlexGrid1_Click()MsgBox "Cell Clicked!"End Sub```5. 设置单元格格式:-你可以通过代码设置单元格的格式,如字体、颜色等。

```vbMSFlexGrid1.Col = 1MSFlexGrid1.Row = 1MSFlexGrid1.CellBackColor = RGB(255, 0, 0) ' 设置背景颜色为红色```这只是一个简单的用法示例。

MSFlexGrid控件的常用属性

MSFlexGrid控件的常用属性
FixedCols
获得或设置FlexGrid的固定(不可滚动)列的总数
FixedRows
获得或设置FlexGrid的固定(不可滚动)行的总数
FocusRect
决定FlexGrid控件是否应该绘制一中心矩形环绕当前单元。取值为:
0 flexFocusNone
1 flexFocusLight
2 flexFocusHeavy
1 flexGridFlat(实线)
2 flexGridInset(突出)
3 flexGridRaised
GridLinesFixed
获得或设置固定行和列的画线的类型。取值为:
0 flexGridNone(无网络线)
1 flexGridFlat(实线)
2 flexGridInset(突出)
3 flexGridRaised(凹陷)
该控件获得焦点时,失去焦点的控件的Validate事件是否发生。取值为:
True发生
False不发生
Clos
决定FlexGrid中的总列数
DataSource
获得或设置控件的数据源
DragIcon
该对象在拖动过程中鼠标的图标
DragMode
该对象的拖动模式,取值为:
0 vbManual(手动)
1 vbAutomatic(自动)
Enabled
用于设定是否对事件产生响应。取值为:
True可用
False不可用。在执行程序时,该对象用灰色显示,并且不响应任何事件
FillStyle
决定是否设置FlexGrid的文本属性或单元格属性之一可以应用到全部已选的单元。取值为:
0 flexFillSingle
1 flexFillRepeat

MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理================================================= MSFlexGrid总行数和总列数的定义:MSFlexGrid1.Rows = 5 '规定表格的总行数为5行MSFlexGrid1.Cols = 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本内容MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) =" " 定义第3行第2列的文本内容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton ThenMSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5MSFlexGrid1.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.TextEnd IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色MSFlexGrid1.CellForeColor = vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd Sub使MSFlexGrid的单元格内容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private 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 Text1_Change()MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.TextEnd SubPrivate Sub Text2_Change() '修改表头Dim r, c As Integerr = MSFlexGrid1.Rowc = 0MSFlexGrid1.TextMatrix(r, 0) = Text2.TextEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点 MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!MSFlexGrid插入行Private Sub Command1_Click()If MSFlexGrid1.Rows < 2 ThenMSFlexGrid1.AddItem "AAA" & vbTab & "bbb"ElseMSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行MSFlexGrid1.RemoveItem 3 '删除第三行。

MSFlexGrid控件属性及使用方法

MSFlexGrid控件属性及使用方法

MSFlexGrid控件属性及使用方法整理by u3u3以下容由u3u3编写测试成功!请注明来自:================================================= MSFlexGrid总行数和总列数的定义:MSFlexGrid1.Rows = 5 '规定表格的总行数为5行MSFlexGrid1.Cols = 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本容MSFlexGrid1.TextMatrix(3, 0) ="地址" '定义第3行的左边表头文本容为:“地址”MSFlexGrid1.TextMatrix(3, 2) =" " 定义第3行第2列的文本容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton ThenMSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5MSFlexGrid1.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.TextEnd IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色MSFlexGrid1.CellForeColor = vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd Sub使MSFlexGrid的单元格容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private 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 Text1_Change()MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.TextEnd SubPrivate Sub Text2_Change() '修改表头Dim r, c As Integerr = MSFlexGrid1.Rowc = 0MSFlexGrid1.TextMatrix(r, 0) = Text2.TextEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点 MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!MSFlexGrid插入行Private Sub Command1_Click()If MSFlexGrid1.Rows < 2 ThenMSFlexGrid1.AddItem "AAA" & vbTab & "bbb"ElseMSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行MSFlexGrid1.RemoveItem 3 '删除第三行。

VC中MicrosoftFlexGrid控件的使用

VC中MicrosoftFlexGrid控件的使用

VC中Microsoft FlexGrid控件的使用VC中Microsoft FlexGrid控件的使用及合并单元格、可编辑操作1. 给FlexGrid控件绑定成员变量:m_FlexGrid。

2. 设置行列数m_FlexGrid.SetCols(4); //设置列数m_FlexGrid.SetRows(6); //设置行数3. 设置固定行数和固定列数m_FlexGrid.SetFixedRows(1); //设置固定行数为1行m_FlexGrid.SetFixedCols(0); //设置固定列数为0列 4. 设置列宽、行高m_FlexGrid.SetColWidth(1,1500); //设置列号为1的列宽为1500m_FlexGrid.SetRowHeight(2,300); //设置行号为2的行高为300 5. 设置文本对齐方式m_FlexGrid.SetColAlignment(1,4); //设置列号为1的文本对齐方式参数对应描述为:0 单元内容顶部左对齐。

1 单元内容中间左对齐。

对字符串的缺省设置值。

2 单元内容底部左对齐。

3 单元内容顶部居中。

4 单元内容中间居中。

5 单元内容底部居中。

6 单元内容顶部右对齐。

7 单元内容中间右对齐。

对数字的缺省设置值。

8 单元内容底部右对齐。

9 单元内容一般对齐方式。

对字符串中间左对齐而对数值中间右对齐。

6. 设置表头和单元格内容m_FlexGrid.SetTextArray(0,"Head1"); //设置表头(第1列)内容为“Head1”m_FlexGrid.SetTextMatrix(1,1,"Text"); //设置单元格(行号1列号1)内容为“Text” 7. 增加一行m_FlexGrid.AddItem("AddString",(COleVariant)(3L)); //在行号为3的位置增加一行8. 合并单元格for(i=0;i<4;i++)m_FlexGrid.SetTextMatrix(5,i,"合计"); //将行号为5、列号从0到4的单元格内容设为相同“合计”m_FlexGrid.SetMergeCells(2); //设置单元格合并方式(下述)m_FlexGrid.SetMergeRow(5,TRUE); //设置要合并的行SetMergeCells函数的参数值如下:0: flexMergeNever 默认的选项,就是不合并1: flexMergeFree 不规则的合并2: flexMergeRestrictRows 行合并3: flexMergeRestrictColumns 列合并4: flexMergeRestrictBoth 行,列都合并注意只有单元格内容相同时才能进行合并操作。

msflexgrid控件用法

msflexgrid控件用法

msflexgrid控件用法MSFlexGrid控件是Visual Basic 6.0提供的一种非常有用的表格控件,可以在窗体中创建可编辑的网格。

它允许用户浏览和编辑多行和多列的数据,还可以对数据进行排序、过滤和格式化。

在本文中,我将详细介绍MSFlexGrid控件的用法,包括创建、显示和操作表格数据。

一、创建和显示MSFlexGrid控件在使用MSFlexGrid控件之前,首先需要在窗体中添加一个FlexGrid控件。

在VB6的工具箱中,可以找到FlexGrid控件并将其拖放到窗体上。

在窗体上添加FlexGrid控件后,可以通过设置控件的属性来进行进一步的配置和定制。

1. 设置列数和行数在使用MSFlexGrid控件之前,首先需要设置表格的列数和行数。

可以通过设置Col属性和Row属性来实现。

例如,设置表格的列数为5,行数为10的代码示例如下:MSFlexGrid1.Cols = 5MSFlexGrid1.Rows = 102. 设置表格显示样式可以通过设置控件的属性来设置表格的样式,例如,可以设置表格的边框颜色、背景颜色和字体。

以下是一些常用的属性设置示例:MSFlexGrid1.BorderStyle = flexBorderStyleFixedSingle ' 设置边框样式为单线条MSFlexGrid1.BackColor = vbWhite ' 设置背景颜色为白色MSFlexGrid1.ForeColor = vbBlack ' 设置前景颜色为黑色MSFlexGrid1.FontSize = 12 ' 设置字体大小为12号3. 添加数据到表格可以通过设置控件的TextMatrix属性来添加数据到表格中。

TextMatrix属性是一个二维数组,可以通过指定行和列的索引来设置相关的数据。

例如,将数据“Apple”添加到(1,1)位置的代码示例如下:MSFlexGrid1.TextMatrix(1, 1) = "Apple"二、操作MSFlexGrid控件中的数据在将数据添加到表格之后,可以对表格中的数据进行许多操作,例如,读取单元格数据、排序和过滤数据等。

wincc msflexgrid控件的用法

wincc msflexgrid控件的用法

wincc msflexgrid控件的用法WinCC是西门子推出的一套面向过程自动化的监控与控制软件,其功能强大,覆盖了自动化行业的各个领域,包括工业自动化、制造业、能源管理、公共设施、楼宇自动化等。

WinCC的多种控件是实现监控和报警功能的核心部分之一,其中MSFlexGrid控件是一种常用的控件之一,具有强大的灵活性和可扩展性,下面将详细介绍MSFlexGrid控件的用法。

一、MSFlexGrid控件的基本概念和特点MSFlexGrid控件是一种用于显示和编辑表格数据的控件,其特点是可以根据需要自定义行数和列数,并可以显示大量的数据。

MSFlexGrid控件支持多种数据类型,包括字符串、整数、浮点数等,同时还可以设置行高、列宽、颜色、字体等属性,以便于满足不同的显示需求。

二、MSFlexGrid控件的创建和初始化创建MSFlexGrid控件的步骤如下:1. 首先,需要在VB环境中打开一个新的工程,并添加一个MSFlexGrid控件。

2. 然后,可以通过拖拽的方式调整控件大小和位置,以适应实际的界面设计需求。

3. 接下来,需要设置控件的一些基本属性,例如行数、列数、行高、列宽等。

初始化MSFlexGrid控件的步骤如下:1. 在VB环境中打开代码编辑器,并在Form_Load事件中添加代码。

2. 通过代码设置控件的属性,例如行数、列数、行高、列宽等。

3. 通过代码设置控件的样式,例如背景颜色、字体等。

4. 可以通过代码向控件中添加数据,例如通过循环遍历的方式向每个单元格赋值。

三、MSFlexGrid控件的常用属性和方法MSFlexGrid控件有很多常用的属性和方法,下面列举一些常用的如下:1. Rows属性,用于设置和获取控件的行数。

2. Cols属性,用于设置和获取控件的列数。

3. RowHeights属性,用于设置和获取控件的行高。

4. ColWidths属性,用于设置和获取控件的列宽。

5. TextMatrix方法,用于设置和获取单元格的数据。

MS Flex Grid控件

MS Flex Grid控件

MS Flex Grid控件是微软的一个网格控件,可以用于显示数据库中的信息,对于一些比较简单的显示方式,还是比较方便的。

加入MS Flex Grid控件控件的方法:在VC中选择Project|Add to Project|Conpenments and Controls 在弹出的对话框中选择Registered ActiveX Controls然后选择Microsoft FlexGrid Control, version 6.0。

系统会提示你加入几个类进入你的工程。

包括四个类:CMSFlexGrid,CRowCursor,COleFont,CPicture;同时在VC的Control面板上会显示出MS Flex Grid控件的图标,可以同其他普通控件一样操作这个控件。

一、引言MSFlexGrid控件是Visual C++中提供的已注册ActiveX控件,它常被用于显示和操作表格式数据,特别是数据库文件的显示及交互操作。

在其他程序的交互界面中,对于不确定数目的同类大批量数据的输入而言,MSFlexGrid是十分有效的。

利用MSFlexGrid可以将输入文件中的数据显示出来并作交互修改,通过功能扩展可将表格数据直接copy到Excel、Word及Origin中的表格内,利用右键菜单实现此功能。

本文编程实现了上述类似功能,并将MSFlexGrid控件的一些调整操作(如行高、列宽、Cell内容的对齐方式等)加以外部按钮化,使其更为方便易用。

二、先行者对MSFlexGrid控件功能的扩充王勇、李延平[1]提出在MSFlexGrid的当前网格单元(Cell)内创建同样尺寸的编辑框(CEdit)覆盖该Cell,并将Cell内的Text传给编辑框,通过此编辑框以实现MSFlexGrid的网格编辑功能。

秦胜[2]提出用信息预解释(PreTranslate)方法,截留编辑框(CEdit)内的ESC键与回车键(Enter)按下消息,以防止在编辑框内不小心按下上述两按键之一时立刻关闭对话框,退出整个程序。

VB-MSFlexGrid控件-4

VB-MSFlexGrid控件-4

VB-MSFlexGrid控件-4Col和Row属性(MSHFlexGrid)这两个属性返回或设置MSHFlexGrid中活动单元的坐标。

在设计时不可用。

应用于MSHFlexGrid控件,MSFlexGrid控件。

语法object.Col[=number]object.Row[=number]Col和Row的语法包含以下部分:部分描述object对象表达式,其值是“应用于”列表中的对象numberLong类型值。

它指定了活动单元的位置说明可以用这些属性来指定MSHFlexGrid中的单元,或者找到包含当前单元的那个行或者列。

行和列是从0开始计数的,对于行来说,以顶端为起始,而对于列来说,则以左边为起始。

对这些属性进行设置会自动对RowSel和ColSel进行重置,这样,所选定的就变成了当前单元。

因此,为了指定一个块选定,必须首先对Row和Col进行设置,然后对RowSel和ColSel进行设置。

当前单元的值(由Col和Row的设置值所决定的),就是包含在那个单元中的文本。

可以用T extMatrix属性在不改变已选定的Row和Col属性的情况下,对单元的值进行修改。

请参阅Cols,Rows属性(MSHFlexGrid),ColSel,RowSel属______性,SelChange事件(MSHFlexGrid),Sort属性(MSHFlexGrid),Text属性(MSHFlexGrid),TextMatrix属性,Bands属性(MSHFlexGrid)。

示例在该示例中,将“Here”放到当前单元中,然后将活动单元更改为第3行中的第3个单元,并将“There”放到那个单元中。

可以单击F5键来运行该程序,然后单击网格。

注意:如果您使用MSFlexGrid,请用“MSFlexGrid1”替换“MSHFlexGrid1”。

Private Sub Form1_Load()MSHFlexGrid1.Rows=8MSHFlexGrid1.Cols=5End SubPrivate Sub MSHFlexGrid1_Click()'将文本放到当前单元中。

详解MSHFlexGrid控件

详解MSHFlexGrid控件

详解MSHFlexGrid控件访问 Hierarchical FlexGrid 控件要在 Visual Basic 中安装并访问 Hierarchical FlexGrid 控件,请使用以下步骤。

要安装和访问 Hierarchical FlexGrid 控件1. 在“工程”菜单中,选择“部件”。

出现“部件”对话框。

2. 在“控件”选项卡中,选择“Microsoft Hierarchical FlexGrid Control 6.0”,然后单击“确定”。

MSHFlexGrid 控件被添加到Visual Basic 工具箱中。

3. 在 Visual Basic 工具箱中,单击 MSHFlexGrid 控件,然后将其拖到一个 Visual Basic 窗体上。

-或者-在 Visual Basic 工具箱上,双击 MSHFlexGrid 控件,将其添加到窗体上。

将数据绑定到 Hierarchical FlexGrid在开始使用它的功能之前,必须先将数据绑定到Hierarchical FlexGrid。

要将数据绑定到控件,可以使用Visual Basic 新的Data Binding Manager,或者通过编程实现。

在将Hierarchical FlexGrid 绑定到数据源之后,Hierarchical FlexGrid 在设计时屏幕显示是一个空白列和一个空白行。

字段和带区信息不是自动提取的(要获得此类信息,请参阅取得结构信息)。

如果 Hierarchical FlexGrid 在没有字段和带区信息的情况下运行,那么在显示数据的时候将使用缺省的属性设置。

就是说,如果Hierarchical FlexGrid 被绑定到一个分层结构的Command,那么显示出的数据带区将是水平排列的,每个带区中包含一列,分别对应于Recordset 中的每一个字段。

绑定到数据源的 Hierarchical FlexGrid使用Visual Basic Data Binding Manager 将数据绑定到Hierarchical FlexGrid本节说明如何使用 Visual Basic Data Binding Manager 将数据绑定到Hierarchical FlexGrid。

(完整版)MSFlexGrid控件属性及使用方法整理

(完整版)MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理================================================= MSFlexGrid总行数和总列数的定义:MSFlexGrid1.Rows = 5 '规定表格的总行数为5行MSFlexGrid1.Cols = 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本内容MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) =" " 定义第3行第2列的文本内容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton ThenMSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5MSFlexGrid1.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.TextEnd IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色MSFlexGrid1.CellForeColor = vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd Sub使MSFlexGrid的单元格内容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private 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 Text1_Change()MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.TextEnd SubPrivate Sub Text2_Change() '修改表头Dim r, c As Integerr = MSFlexGrid1.Rowc = 0MSFlexGrid1.TextMatrix(r, 0) = Text2.TextEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点 MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!MSFlexGrid插入行Private Sub Command1_Click()If MSFlexGrid1.Rows < 2 ThenMSFlexGrid1.AddItem "AAA" & vbTab & "bbb"ElseMSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行MSFlexGrid1.RemoveItem 3 '删除第三行。

MSFlexGrid基本使用

MSFlexGrid基本使用

MSFlexGrid基本使用第一篇:MSFlexGrid基本使用1.给FlexGrid控件绑定成员变量:m_FlexGrid。

2.设置行列数m_FlexGrid.SetCols(4);//设置列数m_FlexGrid.SetRows(6);//设置行数3.设置固定行数和固定列数m_FlexGrid.SetFixedRows(1);//设置固定行数为1行m_FlexGrid.SetFixedCols(0);//设置固定列数为0列4.设置列宽、行高m_FlexGrid.SetColWidth(1,1500);//设置列号为1的列宽为1500m_FlexGrid.SetRowHeight(2,300);//设置行号为2的行高为3005.设置文本对齐方式m_FlexGrid.SetColAlignment(1,4);//设置列号为1的文本对齐方式参数对应描述为:0单元内容顶部左对齐。

1单元内容中间左对齐。

对字符串的缺省设置值。

2单元内容底部左对齐。

3单元内容顶部居中。

4单元内容中间居中。

5单元内容底部居中。

6单元内容顶部右对齐。

7单元内容中间右对齐。

对数字的缺省设置值。

8单元内容底部右对齐。

9单元内容一般对齐方式。

对字符串中间左对齐而对数值中间右对齐。

6.设置表头和单元格内容m_FlexGrid.SetTextArray(0,“Head1”);//设置表头(第1列)内容为“Head1”m_FlexGrid.SetTextMatrix(1,1,“Text”);//设置单元格(行号1列号1)内容为“T ext”7.增加一行m_FlexGrid.AddItem(“AddString”,(COleVariant)(3L));//在行号为3的位置增加一行8.合并单元格for(i=0;i<4;i++)m_FlexGrid.SetTextMatrix(5,i,“合计”);//将行号为5、列号从0到4的单元格内容设为相同“合计”m_FlexGrid.SetMergeCells(2);//设置单元格合并方式(下述)m_FlexGrid.SetMergeRow(5,TRUE);//设置要合并的行SetMergeCells函数的参数值如下:0: flexMergeNever默认的选项,就是不合并1: flexMergeFree不规则的合并2: flexMergeRestrictRows行合并3: flexMergeRestrictColumns列合并4: flexMergeRestrictBoth行,列都合并注意只有单元格内容相同时才能进行合并操作。

MSFlexGrid控件

MSFlexGrid控件

MSFlexGrid控件概述1、作用:该控件以表格形式显示二维字符数组中每个单元的数据。

常用于处理复杂的二维数据表的问题。

如校历表、学生宿舍表、学生班级成绩表等。

2、添加到控件箱菜单命令:工程| 部件,在部件对话框中选择:Microsoft FlexGrid Control 6.0 (SP6)。

3、主要属性(1)Rows与Cols属性:分别用于设置或返回MSFlexGrid控件的行数与列数。

(2)Row与Col属性:分别用于设置或返回MSFlexGrid控件中活动单元的行号与列号。

(3)TextMatrix属性:该属性用于表示MSFlexGrid控件中单元格的内容。

格式为:TextMatrix (Row, Col);其中Row与Col分别表示单元格在MSFlexGrid控件中的行号与列号。

(4)FixedRows属性:用于设置表格显示过程中固定不变的行数。

如FixedRows=1,则表示固定行为1,如图8.3中第1行。

(5)FixedCols属性:用于设置表格中固定不变的列数。

如FixedCols=1,则表示固定列为1,如图8.3中第1列。

(6)FixedColor属性:用于设置固定行与固定列的颜色。

(7)MouseRow与MouseCol属性:用于返回鼠标光标所在单元格的行号与列号。

(8)ColWidth(Col)、RowHigh(Row)属性:用于设置与返回第Col列的宽度与第Row行的高度,例如设置第0列的宽度为1500,第0行的高度为300的赋值语句为:ColWidth(0) = 1500 RowHeight(0) = 300(9)DataSource属性:用于选择数据表,只能通过Data数据源控件选择数据表。

说明,若要用ADO Data控件作为数据源,则应使用MSHFlexGrid控件。

(10)MousePointer属性:用于设置鼠标光标形状,属性取值与光标形状如表8.1所示。

【例8.1】编写程序,定义MSFlexGrid1控件为10行、5列表格,给每一个单元格赋值为Row+Col,其中Row与Col分别表示控件单元格的行号与列号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MSFlexGrid控件
目录
概述
属性
方法
事件
属性常数
概述
属性
方法
事件
属性常数
展开
编辑本段概述
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方法。

编辑本段事件
MSFlexGrid特有事件
※注1:MSFlexGrid控件的特有事件全部是不带参数的,要注意与DataGrid控件的同名事件区分
※注2:执行顺序:Lea veCell → SelChange → EnterCell → RowColChange
◇ SelChange事件 (DISPID = 69)
Private Sub object_SelChange()
void OnSelChange(void);
◇ RowColChange事件 (DISPID = 70)
Private Sub object_RowColChange()
void OnRowColChange(void);
◇ EnterCell事件 (DISPID = 71)
Private Sub object_EnterCell()
void OnEnterCell(void);
◇ LeaveCell事件 (DISPID = 72)
Private Sub object_LeaveCell()
void OnLeaveCell(void);
◇ Scroll事件 (DISPID = 73)
Private Sub object_Scroll()
void OnScroll(void);
◇ C ompare事件
Private Sub object_Compare(row1, row2, cmp)
void OnCompare(long nRow1, long nRow2, CMP_FUNC pFunc)
ActiveX控件事件
Click事件
DragDrop事件
DragOver事件
GotFocus事件
KeyDown / KeyUp事件
Appearance 属性
CellPictureAlignment 属性
DisplayBandSettings 属性
ScrollBars 属性。

相关文档
最新文档