MSFlexGrid表格控件详细说明
MSFlexGrid控件详解
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控件)。
关于vc的mshflexgrid控件的用法
关于vc的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 单元内容中间居中。
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控件的用法在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控件的常用属性
获得或设置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总行数和总列数的定义: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控件属性及使用方法整理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 '删除第三行。
MSHflexGrid表格控件使用方法(1)
MSHflexGrid表格控件使用方法(1)2009-07-18 14:36下面我给大家讲一下MSHFLEXGRID常用的属性,方法事件,还有一些不能不知道的技巧.1) 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 设置/返回网格的非固定单元是否允许WRAP ColWordWrapOptionBand Array/Integer 定义网格的BAND是否允许WRAP ColWordWrapOptionFixed Array/Integer 定义列的固定单元是否允许WRAP ColWordWrapOptionHeader Array/Integer 定义各头部是否允许WRAP DataField 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, x As 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 Long Dim 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) ' 循环至文件尾。
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是西门子推出的一套面向过程自动化的监控与控制软件,其功能强大,覆盖了自动化行业的各个领域,包括工业自动化、制造业、能源管理、公共设施、楼宇自动化等。
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方法,用于设置和获取单元格的数据。
层次型电子表格控件(MSHFlexGrid)的常用属性
2.22、层次型电子表格控件(MSHFlexGrid)的常用属性属性说明(Name)层次型电子表格控件的名称(自定义)打开属性页AllowBigSelection 获得或设置是否在行头或列头单击将导致选定整行或整列。
取值为:True 允许False 不允许AllowUserResizing 获得或设置是否允许用户使用鼠标重新调整行或列的大小(调整行高和列宽)。
取值为:0 flexResizeNone(不能调整)1 flexResizeColumns(调整列)2 flexResizeRows(调整行)3 flexResizeBoth(调整行和列)Appearance 获得或设置是否控件可以用三维效果画出(外观效果)。
取值为:0 flexFlat(平面)1 flex3D(立体)BackColor 获得或设置FlexGrid中各种元素的背景色(所有单元格背景颜色)。
可从弹出的调色板选择。
BackColorBkg 获得或设置FlexGrid中各种元素的背景色(网络外背景颜色)。
可从弹出的调色板选择。
BackColorFixed 获得或设置FlexGrid中各种元素的背景色(固定行和列背景颜色)。
可从弹出的调色板选择。
BackColorSel 获得或设置FlexGrid中各种元素的背景色[所选单元格背景颜色(被选中时的背景颜色)]。
可从弹出的调色板选择。
BackColorUnpopulated 获得或设置FlexGrid中各种元素的背景色(所有单元格背景颜色)。
可从弹出的调色板选择。
BandDisplay 获得或设置band的显示类型。
取值为:0 flexBandDisplayHorizontal1 flexBandDisplayVerticalBorderStyle 获得或设置边界样式。
取值为:0 flexBorderNone(无边界线)1 flexBorderFixedSingle(固定单线框)CauseValidation 该控件获得焦点时,失去焦点的控件的Validate事件是否发生。
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)按下消息,以防止在编辑框内不小心按下上述两按键之一时立刻关闭对话框,退出整个程序。
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分别表示控件单元格的行号与列号。
VB-MSFlexGrid控件-3
VB-MSFlexGrid控件-3CellFontSize属性该属性返回或设置以点数为单位的当前单元文本的尺寸。
在设计时不可用。
应用于MSHFlexGrid控件,MSFlexGrid控件。
语法object.CellFontSize[=value]CellFontSize属性的语法有以下部分:部分描述object对象表达式,其值是“应用于”列表中的对象valueSingle类型。
数值表达式,它指定了当前单元文本的尺寸说明对该属性所做的更改会影响到当前单元或者当前选定,这取决于FillStyle属性的设置值。
请参阅FillStyle属性(MSHFlexGrid),CellFontBold属性,CellFontItalic属性,CellFontName属性,CellFontUnderline属性,CellFontWidth属性。
示例无论何时,当MSHFlexGrid控件在焦点中时,下面的代码将当前单元的文本的尺寸设置为12个点:注意:如果您使用MSFlexGrid,请用“MSFlexGrid1”替换“MSHFlexGrid1”。
Sub MSHFlexGrid1_GotFocus()MSHFlexGrid1.CellFontSize=12End SubCellFontStrikeThrough属性该属性返回或者设置一个值,该值决定了是否将Strikethrough样式应用到当前单元文本中。
应用于MSHFlexGrid控件,MSFlexGrid控件。
语法object.CellFontStrikeThrough[=boolean]CellFontStrikeThrough属性语法有如下部分:部分描述object对象表达式,其值是“应用于”列表中的对象boolean布尔表达式,它决定了是否将StrikeThrough样式应用到单元文本中设置Boolean的设置值是:设置值描述True将StrikeThrough样式应用到单元文本中False(缺省的)不将StrikeThrough样式应用到单元文本中说明对CellFontStrikeThrough属性所做的更改会影响到当前单元或者当前选定,这取决于FillStyle属性的设置值。
详解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。
VBmsflexgrid控件属性
VBmsflexgrid控件属性AllowBigSelection 属性在行头或者列头上单击时,(是否)可以使得整个行或者列都被选中。
AllowUserResizing 属性(是否)可以用鼠标来对MSFlexGrid 控件中行和列的大小进行重新调整。
-------------------------------------Appearance 属性设计时的绘图风格BorderStyle 属性边框样式-------------------------------------BackColorBkg 属性 '表格多余部分颜色BackColorFixed 属性 '表格头部分颜色BackColorSel 属性 '选中部分颜色BackColor 属性 '所有未确定单元的颜色CellBackColor 和CellForeColor 属性返回或设置单个单元或者一群单元的背景和前景颜色。
-------------------------------------ForeColor、ForeColorFixed 以及ForeColorSel 属性各部分上文本的颜色。
TextStyle 和 TextStyleFixed[= style ] 属性返回或设置指定单元或者一群单元上文本的三维样式。
----------------------------------------FixedAlignment (index)= [value] 属性列号,设置值flexAlignLeftT op 0 左顶部flexAlignLeftCenter 1 左中flexAlignLeftBottom 2 左底部flexAlignCenterTop 3 中顶部flexAlignCenterCenter 4 中中flexAlignCenterBottom 5 中底部flexAlignRightT op 6 右顶部flexAlignRightCenter 7 右中flexAlignRightBottom 8 右底部ColAlignment(number) 属性 [= value ] 返回或设置某一列中数据的对齐方式number=列号,或者 -1(一次性地对所有列进行设置)。
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行,列都合并注意只有单元格内容相同时才能进行合并操作。
MFC 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)按下消息,以防止在编辑框内不小心按下上述两按键之一时立刻关闭对话框,退出整个程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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(一次性地对所有列进行设置)。
value 的设置值:flexAlignLeft 0 左边对齐flexAlignRight 1 右边对齐flexAlignCenter 2 居中■TextStyle 和 TextStyleFixed[= style ] 属性返回或设置指定单元或者一群单元上文本的三维样式。
■CellTextStyle 属性 [= value ]单元或者一群单元上文本的三维样式flexTextFlat 0 平面的(普通文本)flexTextRaised 1 凸起的flexTextInset 2 下陷的flexTextRaisedLight 3 轻微凸起的flexTextInsetLight 4 轻微下陷的■CellPictureAlignment 属性 [= value ] 单元或者一群选定单元中图片的对齐方式flexLeftTop 0 左边顶端对齐flexLeftCenter 1 左边中间对齐flexLeftBottom 2 左边底端对齐flexCenterTop 3 居中顶端对齐flexCenterCenter 4 居中中间对齐flexCenterBottom 5 居中底端对齐flexRightTop 6 右边顶端对齐flexRightCenter 7 右边中间对齐flexRightBottom 8 右边底端对齐■CellAlignment 属性单元或者一群选定单元中的数据对齐方式。
flexLeftTop 0 左边顶端对齐flexLeftCenter 1 左边中间对齐(对于字符串来说,这是缺省时的情况)flexLeftBottom 2 左边底端对齐flexCenterTop 3 居中顶端对齐flexCenterCenter 4 居中中间对齐flexCenterBottom 5 居中底端对齐flexRightTop 6 右边顶端对齐flexRightCenter 7 右边中间对齐(对于数字来说,这是缺省时的情况)flexRightBottom 8 右边底端对齐flexGeneral 9 一般的情况是:对于字符串来说,左边中间对齐,对于数字来说,右边中间对齐'设置所有单元的对齐方式Static k As IntegerIf k > 9 Then k = 0For i = 0 To MSFlexGrid1.Rows - 1For j = 0 To MSFlexGrid1.Cols - 1MSFlexGrid1.Row = iMSFlexGrid1.Col = jMSFlexGrid1.CellAlignment = kNext jNext ik = k + 1----------------------------------------■CellFontBold 当前单元文本的粗体样式■CellFontItalic当前单元文本的斜体样式■CellFontName当前单元文本的字体名■CellFontSize当前单元文本的尺寸■CellFontStrikeThrough (是否)将 FontStrikeThrough 样式应用到当前单元文本中。
■CellFontUnderline 当前单元文本中(是否)下划线■CellFontWidth以点数表示的当前单元文本宽度-------------------------------------■CellHeight、CellLeft、CellTop 以及 CellWidth 属性返回以缇为单位的当前单元的位置和大小。
在设计时不可用。
■ColPos ( index ) 属性该属性返回以缇为单位的控件左上角跟指定列左上角之间的距离。
■RowPos( index ) 属性该属性返回以缇为单位的控件的左上角和指定行的左上角之间的距离。
■ColWidth( number ) [= value ] 属性返回或设置以缇为单位的指定列的宽度number 列号。
如果是 -1,则一次对所有列进行设置。
value 列的宽度 0 创建不可见的列, -1宽度重置为其缺省值,这取决于当前字体的大小。
■RowHeight( number )[= value ] 属性该属性返回或设置以缇为单位的指定行的高度。
若将 RowHeight 设置为 0,则创建不可见的行。
若设置为 -1,则将行的高度重置为其缺省值,这取决于当前字体的大小。
■RowHeightMin 属性该属性返回或设置以缇为单位的整个控件的最小行高度。
----------------------------------------■CellPicture 属性当前单元或者一群单元中显示的图象[= picture ]----------------------------------------■Clip 属性 [= string ](当把数据放入MSFlexGrid 控件选定区域单元格)该属性返回或设置 MSFlexGrid 控件的选定区域中单元的内容。
在设计时不可用。
制表符Chr(9)移到右一格,回车换行符Chr(13)移到下一行-------------------------------------------------------■Col 和 Row [= number ] 属性返回或设置活动单元的坐标(当前单元行、列)■ColSel 和 RowSel[= value ] 属性返回或设置一群单元的起始或结束的行或者列。
在设计时不可用。
在设置了 Row 和 Col 属性之后,会自动对 RowSel 和 ColSel 进行重置当前单元的值(由 Col 和 Row 的设置值所决定的),就是包含在那个单元中的文本。
可以TextMatrix属性在不改变已选定的 Row 和 Col 属性的情况下,对单元的值进行修改。
■Cols 和 Rows [= value ] 返回或设置 MSFlexGrid 中行或者列的总数。
■FixedCols 和 FixedRows [= value ] 固定列或者固定行的总数。
缺省一个固定列和一个固定行----------------------------------------------------------■ColData(number) 和 RowData(number)属性[= value ]返回或设置跟每个行和列相关联的一个任意的 long 类型的值number 控件中的行号或者列号。
-------------------------------------------------------■ColIsVisible(index) 属性指定某列在当前(是否)是可见的-------------------------------------------------------■ColPosition(number)[= value ]属性(横向移动)■RowPosition(number)[= value ]属性(纵向移动)对行或者列的位置进行设置,从而允许将行和列移动到指定位置。
number 将被移动的行号或列号,value 行或者列的新位置。
当用这些属性来移动某一行或者列时,所有格式化信息都将随之一起移动。
如果想只移动文本,可以用 Clip 属性。
例如,下面的代码当用户在某一行上单击时,将该行移动到第一个位置:Sub MSFlexGrid1_Click ()MSFlexGrid1.ColPosition(MSFlexGrid1.MouseCol) = 0End Sub-------------------------------------------------------■Container [= container] 属性返回或设置该控件的容器:Form、Frame、PictureBox■DataB indings 属性返回 DataBindings 集合对象,该对象包含了有用的可绑定属性。
■DataSource 属性设置一个指定 Data 控件的值,通过这个控件将当前控件连结到数据库上。
在运行时不可用要完成同 Data 控件所管理的 Recordset 中的字段的连接,还必须提供 DataField 属性中Field 对象的名称。