MsFlexGrid 的使用方法
- 格式:wps
- 大小:490.50 KB
- 文档页数:9
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) = 1500RowHeight(0) = 300(9)DataSource属性:用于选择数据表,只能通过Data数据源控件选择数据表。
说明,若要用ADO Data控件作为数据源,则应使用MSHFlexGrid控件。
(10)MousePointer属性:用于设置鼠标光标形状,属性取值与光标形状如表8.1所示。
【例8.1】编写程序,定义MSFlexGrid1控件为10行、5列表格,给每一个单元格赋值为Row+Col,其中Row与Col分别表示控件单元格的行号与列号。
vbMSFlexGrid数据控件数据排序在进行数据库编程的时候,经常会用到MSFlexGrid控件进行数据显示。
并且对数据进行排序是必不可少的一个环节。
使用WINDOWS 系统的用户,会习惯于点击标题进行数据排序。
而MSFlexGrid控件本身没有这个功能,笔者经过实践,总结出了点击MSFlexGrid标题进行排序的方法,与大家一起分享。
崔占民EMAIL:*************先添加MSFlexGrid控件,方法:菜单->工程->部件->Microsoft FlexGrid Control 6.0(后面为版本号),代码如下:Option ExplicitPrivate Const STR_SORT_ASC = "△"Private Const STR_SORT_DESC = "▽"Private Sub Form_Load()Dim i As Long'添加一些试验数据With MSFlexGrid1.Rows = 51.Cols = 5For i = 0 To 50.TextMatrix(i, 0) = ("Col" & i).TextMatrix(i, 1) = ("Col" & i).TextMatrix(i, 2) = ("Col" & i).TextMatrix(i, 3) = ("Col" & i).TextMatrix(i, 4) = ("Col" & i)NextEnd WithEnd Sub'排序函数Public Sub Sort(sgrd As MSFlexGrid, y As Single)With sgrdIf y >= .RowPos(0) And y < .RowPos(1) ThenIf .Tag <> "" ThenIf .Tag <> .Col Then.TextMatrix(0, .Tag) = Left(.TextMatrix(0, .Tag), Len(.TextMatrix(0, .Tag)) - 1)End IfEnd IfIf Right(.TextMatrix(0, .Col), 1) = STR_SORT_ASC Then.Sort = flexSortGenericAscending.TextMatrix(0, .Col) = Replace(.TextMatrix(0, .Col), STR_SORT_ASC, STR_SORT_DESC)ElseIf Right(.TextMatrix(0, .Col), 1) = STR_SORT_DESC Then .Sort = flexSortGenericDescending.TextMatrix(0, .Col) = Replace(.TextMatrix(0, .Col), STR_SORT_DESC, STR_SORT_ASC)Else.Sort = flexSortGenericDescending.TextMatrix(0, .Col) = .TextMatrix(0, .Col) & STR_SORT_ASC End If.Tag = .ColEnd IfEnd WithEnd SubPrivate Sub MSFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)Sort MSFlexGrid1, yEnd Sub代码不多,不过实现的功能还是很方便的~~~~~。
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总行数和总列数的定义: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 '删除第三行。
msflexgrid1 标头与表格对齐方式
在MSFlexGrid控件中,可以通过设置行和列的对齐方式来实现标头与表格的对齐方式。
对于表格内容的对齐方式,可以通过设置列的Alignment属性来实现。
Alignment属性有以下几种取值:
- flexAlignLeft(左对齐)
- flexAlignCenter(居中对齐)
- flexAlignRight(右对齐)
例如,如果想要将第一列的内容左对齐,可以使用以下代码:
```
MSFlexGrid1.ColAlignment(0) = flexAlignLeft
```
对于标头的对齐方式,可以通过设置列的AlignmentHeader属性来实现。
AlignmentHeader属性也有同样的几种取值。
例如,如果想要将第一列的标头左对齐,可以使用以下代码:
```
MSFlexGrid1.ColAlignmentHeader(0) = flexAlignLeft
```
通过设置列的Alignment和AlignmentHeader属性,可以实现标头与表格内容的不同对齐方式。
VB_msflexgrid中设置内容对齐方式使用.FixedAlignment (设置指定列的对齐方式).ColAlignment (设置指定固定列的对齐方式)常数值描述flexAlignLeftT op 0 单元格的内容左、顶部对齐。
flexAlignLeftCenter 1 字符串的缺省对齐方式。
单元格的内容左、居中对齐。
flexAlignLeftBottom 2 单元格的内容左、底部对齐。
flexAlignCenterTop 3 单元格的内容居中、顶部对齐。
flexAlignCenterCenter 4 单元格的内容居中、居中对齐。
flexAlignCenterBottom 5 单元格的内容居中、底部对齐。
flexAlignRightT op 6 单元格的内容右、顶部对齐。
flexAlignRightCenter 7 数值的缺省对齐方式。
单元格的内容右、居中对齐。
flexAlignRightBottom 8 单元格的内容右、底部对齐。
flexAlignGeneral 9 单元格的内容按一般方式进行对齐。
字符串按“左、居中”显示,数字按“右、居中”显示。
FormatString 属性设置 MSHFlexGrid的列宽、对齐方式、固定行文本和固定列文本。
语法object.FormatString [= string]FormatString 属性的语法包含如下部分:部分描述object 一个对象表达式,其值为“应用于”列表中的一个对象。
string 一个字符串表达式,为格式化在行和列中的文本。
如在说明中所述。
说明在设计时,MSHFlexGrid 语法分析和解释FormatString 来获得如下信息:行和列的数目、行和列标头的文本、列宽和列对齐方式。
FormatString 属性包含由管道字符(|) 分隔的段。
管道字符之间的文本定义一列并且也可能包含特定的对齐字符。
这些字符使整个列左对齐(<)、居中(^)或右对齐(>)。
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 '删除第三行。
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控件中的数据在将数据添加到表格之后,可以对表格中的数据进行许多操作,例如,读取单元格数据、排序和过滤数据等。
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就是你选择单元格的内容。
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方法,用于设置和获取单元格的数据。
VB数据库编程中MSHFlexGrid控件用法详解添加MSHFlexGrid将Name改成flex1添加text 将name 改成txteditPublic rs1 As New ADODB.Recordset, rs2 As New ADODB.Recordset '定义数据集对象Dim i As Integer, j As IntegerSub EditKeyCode(MSHFlexGrid As Control, Edt As Control, KeyCode As Integer, Shift As Integer)'标准编辑控件处理。
Select Case KeyCodeCase 27 'ESC:隐藏焦点并将其返回MSFlexGridEdt.Visible = FalseMSHFlexGrid.SetFocusCase 13 'ENTER 将焦点返回MSFlexGrid。
MSHFlexGrid.SetFocusDoEventsIf MSHFlexGrid.Col < MSHFlexGrid.Cols - 1 ThenMSHFlexGrid.Col = MSHFlexGrid.Col + 1ElseIf MSHFlexGrid.Col = MSHFlexGrid.Cols - 1 ThenMSHFlexGrid.Row = MSHFlexGrid.Row + 1MSHFlexGrid.Col = 1End IfEnd IfCase 38 '向上MSHFlexGrid.SetFocusDoEventsIf MSFlexGrid.Row > MSFlexGrid.FixedRows ThenMSFlexGrid.Row = MSFlexGrid.Row - 1End IfEnd SelectEnd SubSub view_DP()If flex1.Col = 4 Or flex1.Col = 5 Or flex1.Col = 6 Then'格式化Flex1表的第7列、第8列、第9列、第11列flex1.TextMatrix(flex1.Row, 5) = Format(flex1.TextMatrix(flex1.Row, 5), "0.00")flex1.TextMatrix(flex1.Row, 6) = Val(flex1.TextMatrix(flex1.Row, 4)) * Val(flex1.TextMatrix(flex1.Row, 5))flex1.TextMatrix(flex1.Row, 6) = Format(flex1.TextMatrix(flex1.Row, 6), "0.00") End IfDim A, B As Single '声明单精度浮点型变量On Error Resume NextFor i = 1 To flex1.Rows - 1If flex1.TextMatrix(i, 1) <> "" And flex1.TextMatrix(i, 4) <> "" And flex1.TextMatrix(i, 6) <> "" ThenA = Val(flex1.TextMatrix(i, 6)) + A '求合计金额B = Val(flex1.TextMatrix(i, 4)) + B '求合计数量End IfNext ilblCount = BlblSum = Format(A, "0.00") '格式化合计金额End SubSub SetButtons(bV al As Boolean)cmdRegister.Enabled = Not bV alcmdSave.Enabled = bValcmdCancel.Enabled = bValflex1.Enabled = bV alFrame1.Enabled = bValEnd SubPrivate Sub DataGrid2_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyReturn ThenWith Adodc2.Recordset'赋值给flex1表格If .Fields("商品名称") <> "" Then flex1.TextMatrix(flex1.Row, 1) = Trim(.Fields("商品名称"))If .Fields("规格") <> "" Then flex1.TextMatrix(flex1.Row, 2) = Trim(.Fields("规格"))If .Fields("单位") <> "" Then flex1.TextMatrix(flex1.Row, 3) = Trim(.Fields("单位"))flex1.TextMatrix(flex1.Row, 5) = .Fields("成本价")End Withflex1.Col = 4DataGrid2.Visible = False 'DataGrid2不可见txtEdit.Text = ""txtEdit.SetFocusEnd IfIf KeyCode = vbKeyEscape Then '按ESC键DataGrid2不可见DataGrid2.Visible = False' txtEdit.SetFocus 'txtEdit获得焦点End IfEnd SubPrivate Sub delone_Click()For i = 1 To flex1.Cols - 1flex1.TextMatrix(flex1.Row, i) = ""Next iview_DPEnd SubPrivate Sub flex1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)'利用PopupMenu方法If Button And vbRightButton ThenPopupMenu edit '弹出菜单End IfEnd SubPrivate Sub Form_Load()Dim i As Integer'使第一列较窄。
`msflexgrid.ocx` 是Microsoft FlexGrid 控件的一个组件,它是一个用于Windows应用程序的ActiveX 控件,可以用来创建数据网格,用于显示和编辑数据。
在Visual Basic、C++ 或其它支持ActiveX 的编程环境中,你可以在运行时动态注册这个控件。
注册`msflexgrid.ocx` 控件的步骤通常如下:1. 首先确保`msflexgrid.ocx` 文件在你的系统中是存在的,它通常位于`C:\Windows\System32` 目录下,或者在你的开发环境的组件目录中。
2. 打开命令提示符(在Windows 中可以通过按下`Win + R` 键,然后输入`cmd` 并回车来打开)。
3. 使用`regsvr32` 命令来注册控件。
如果您的系统是64 位的,您可能需要使用`regsvr32` 的`/s` 参数和`/i` 参数来注册`msflexgrid.ocx`。
对于32 位的系统,通常使用以下命令之一:对于32 位系统:```regsvr32 C:\Windows\System32\msflexgrid.ocx```或者```regsvr32 /s C:\Windows\System32\msflexgrid.ocx```对于64 位系统:```regsvr32 C:\Windows\SysWOW64\msflexgrid.ocx```或者```regsvr32 /s C:\Windows\SysWOW64\msflexgrid.ocx```4. 注册完成后,您可能需要重启您的计算机或重新启动您的开发环境,以便更改生效。
请注意,如果在注册过程中出现错误,错误信息将有助于诊断问题。
常见的错误包括文件未找到、注册失败等。
如果遇到问题,您可能需要根据错误信息查找相应的解决方案。
CMSHFlexGrid类用法m_Flex.SetRows (10); //设置总行数m_Flex.SetCols (20); //设置总列数m_Flex.SetFixedRows (1);//设置填充行数m_Flex.SetFixedCols (1);//设置填充列数m_Flex.SetTextMatrix (0,1,"姓名");//设置(0,1)的字符CString TempTemp=m_Flex.GetTextMatrix (0,1); //获得(0,1)处的字符m_Flex.SetColWidth (0,400); //设置第0行的宽为400m_Flex.SetRowHeight (0,400); //设置第0列的高为400关于CMSFlexGrid的用法一、关于缇与像素的换算知识Part I我要在Flexgrid的第一列的每一行显示checkbox,如今我自己定义了一个Checkbox链表,然后根据我的数据行数,进行显示,但当我的滚动条滚动时。
checkbox的复选状态就会显示得混乱。
这是我的代码bool CPOUExportDlg::CreateCheckButtonList()//创建checkbox链表{ASSERT_VALID(m_pPOUFileInfoList);ASSERT_VALID(m_pCheckButtonList);//根据文件信息,创建CheckBoxint nCount = m_pPOUFileInfoList->GetCount();// ASSERT(nCount != 0);for(int i =0; i <nCount; ++i){CButton * pButton = new CButton;if(!pButton->Create(_T(""),WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX|BS_NOTIFY|BS_FL AT,CRect(0,0,15,15),GetDlgItem(IDC_MSFLEXGRID_EXPORT),IDC_EXPORT_CHECKBOX + i)){TRACE0("CPOUExportDlg: Can't create checkbox button.\n");AfxMessageBox(_T("创建CheckBox控件有问题!"));return false;}m_pCheckButtonList->AddTail(pButton);}return true;}bool CPOUExportDlg::ShowCheckBox(int nCol)//在第一列显示checkbox{CDC *pDC = GetDC();int nRow = 1;//换算比率,1像素== 15缇int nTwipsPerDotX = 1440 / pDC->GetDeviceCaps(LOGPIXELSX);int nTwipsPerDotY = 1440 / pDC->GetDeviceCaps(LOGPIXELSY);//将缇转换为像素long lCellWidth = m_gridExport.GetCellWidth()/ nTwipsPerDotX;// long lCellHeight = m_gridExport.GetCellHeight()/ nTwipsPerDotY;long lCellLeft = m_gridExport.GetColPos(nCol) / nTwipsPerDotX; //第1列的X坐标long lCellTop = m_gridExport.GetRowPos(nRow) / nTwipsPerDotY; //第nRow行的Y坐标ReleaseDC(pDC);//设置CheckBox坐标ASSERT_VALID(m_pCheckButtonList);POSITION pos = m_pCheckButtonList->GetHeadPosition();while (pos){lCellTop = m_gridExport.GetRowPos(nRow) / nTwipsPerDotY; //第nRow行的Y坐标CButton * pButton = m_pCheckButtonList->GetNext(pos);pButton->SetWindowPos(&wndTop,lCellLeft +lCellWidth*1/5,lCellTop,13,13,NULL);nRow++;}return true;}Part 2我的做法是在双击MsFlexGrid控件的单元格时,显示编辑框,但是如何精确定位编辑框在MsFlexGrid控件中的位置呢?请赐教,谢谢!CRect rect;m_FlexGrid.GetWindowRect(rect);ScreenToClient(rect);long lRow = m_FlexGrid.GetRowSel();long lCol = m_FlexGrid.GetColSel();// MSFlexGrid 控件的函数的长度单位是"缇(twips)",//需要将其转化为像素,1440 缇 = 1 英寸CDC* pDC =GetDC();int nTwipsPerDotX = 1440 / pDC->GetDeviceCaps(LOGPIXELSX) ;int nTwipsPerDotY = 1440 / pDC->GetDeviceCaps(LOGPIXELSY) ;//long y = m_FlexGrid.GetRowPos(lRow)/nTwipsPerDotY;long x = m_FlexGrid.GetColPos(lCol)/nTwipsPerDotX;long width = m_FlexGrid.GetColWidth(lCol)/nTwipsPerDotX+1;long height = m_FlexGrid.GetRowHeight(lRow)/nTwipsPerDotY+1;CRect rc(x,y,x+width,y+height);rc.OffsetRect(rect.left+1,rect.top+1);rc即为该格大小位置二、其它常规用法1.给FlexGrid控件绑定成员变量:m_FlexGrid。
AccessMSFlexGrid应用实例《Access MSFlexGrid 应用实例》使用说明:本程序可在各种支持VBA语言的软件上直接使用,其中MS Access已成功测试具体步骤为:1、在Access里创建一个tblTreeview的数据表如下图:2、在Access里创建一个frmTreeview的窗体,在窗体里创建一个MSFG1的MSFlexGrid控件(MSFlexGrid控件所在位置:窗体设计界→工具箱→其它控件→FlexGrid)如下图:3、然后把程序复制到frmTreeview窗体的加载事件当中(注意:在使用MSFlexGrid控件前,确认VBA编辑器的引用窗体中找到并加载MSFlxGrd.ocx控件)如下图:4、最终效果如下图:程序:Function MSFlexgGridAdd()Dim i As Integer, i2 As Integer, rst1 As RecordsetSet rst1 = CurrentDb.OpenRecordset("SELECT * FROM tblTreeview", dbOpenDynaset, dbSeeChanges) 'MSFlexgGrid控件的数据来源rst1.MoveLast '---------------------|i2 = rst1.RecordCount '-------------|确定MSFlexgGrid控件的总行数rst1.MoveFirst '--------------------|With MSFG1.Cols = 4 '确定MSFlexgGrid控件的总列数.Rows = i2 + 1 'MSFlexgGrid控件的总行数+1来补充第一行作为列标题的使用.TextMatrix(0, 0) = "No" '----------|.TextMatrix(0, 1) = "ID" '----------|确定MSFlexgGrid控件每列的列名.TextMatrix(0, 2) = "ChildID" '-----|.TextMatrix(0, 3) = "ParentID" '----|.ColWidth(0) = 500 '---------------|.ColWidth(1) = 1200 '---------------|确定MSFlexgGrid控件每列的列宽.ColWidth(2) = 1200 '---------------|.ColWidth(3) = 1800 '---------------|.ColAlignment(0) = 4 '让第一列的数据全部居中.ColAlignment(1) = 1 '让第二列的数据全部靠左'====================================== ================================== 'ColAlignment属性用法:'0 单元格的内容左、顶部对齐。
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的列宽为1500 m_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基本使用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行,列都合并注意只有单元格内容相同时才能进行合并操作。
一个MSFl exGrid 控件的使用的例子本示例工程说明了MSFlexGrid 控件的某些事件和容器功能。
它表明如何使用Visual Basic 标准控件实现可进行单元内部编辑的工作表。
创建MSFlexGrid 数据显示的步骤如下:1. 创建控件。
2. 设置属性。
3. 添加行标头和列标头。
4. 添加单元内部编辑功能。
5. 向文本框(“编辑”框)添加更新数据的功能。
6. 将数据从文本框中复制到MSFlexGrid。
安装方案中使用下述控件:■MSFlexGrid 控件■TextBox 控件创建控件本例中添加一个MSFlexGrid 控件并在其内部添加一个TextBox 控件,由此创建父子关系。
如下所示:设置属性为MSFlexGrid 控件和TextBox 控件设置下述属性:对象属性设置值MSFlexGrid 控件Name Fg2Cols 6Rows 20FillStyle 1 - RepeatFocusRect 2 - HeavyFontName ArialFontSize 9TextBox Name txtEditFontName ArialFontSize 9BorderStyle 0 - NoneVisible False添加行标头和列标头将下列代码添加到窗体的Form_Load 过程中以修改MSFlexGrid 控件,使它在外观上与工作表相象:Sub Form_Load ()Dim i As Integer'使第一列较窄。
Fg2.ColWidth(0) = Fg2.ColWidth(0) / 2Fg2.ColAlignment(0) = 1 '放置在正中。
'标记行和列。
For i = Fg2.FixedRows To Fg2.Rows - 1Fg2.TextArray(fgi(i, 0)) = iNextFor i = Fg2.FixedCols To Fg2.Cols - 1Fg2.TextArray(fgi(0, i)) = iNext'初始化编辑框(于是,现在可加载它)。
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) = 1500RowHeight(0) = 300(9)DataSource属性:用于选择数据表,只能通过Data数据源控件选择数据表。
说明,若要用ADO Data控件作为数据源,则应使用MSHFlexGrid控件。
(10)MousePointer属性:用于设置鼠标光标形状,属性取值与光标形状如表8.1所示。
【例8.1】编写程序,定义MSFlexGrid1控件为10行、5列表格,给每一个单元格赋值为Row+Col,其中Row与Col分别表示控件单元格的行号与列号。
新建一个工程(ex8_1.vbp),窗体名为Form_ex81.frm。
在窗体上添加一个MSFlexGrid控件与一个Command控件,双击Command控件,输入如下程序:Private Sub Command1_Click()Dim Row, Col As Integer '定义两个变量用于接收表格的行与列With MSFlexGrid1.Rows = 10'定义表格为10行.Cols = 5'定义表格为5列For Row = 0 To .Rows - 1For Col = 0 To .Cols - 1.TextMatrix(Row, Col) = Row + Col '将表格中的每一个单元格赋值为Row+ColNext ColNext RowEnd WithEnd Sub运行程序后的界面如图8.3所示。
1、MSFlexGrid控件的事件(1)KeyPress事件:当用户按下或释放任何一个ANSI键(字母或数字等键)时触发。
定义:Private Sub <控件名>_KeyPress(KeyAscii As Integer)其中,形参KeyAscii用于将用户按下或释放的ANSI键值传送给KeyPress过程。
(2)KeyDown事件:当用户按下一个键时触发。
定义:Private Sub <控件名>_KeyDown(KeyCode As Integer, Shift As Integer)其中,形参KeyCode用于表示用户按键的类型,取值如表8.3所示。
形参Shift用于表示用户所按组合键(Ctrl、Alt、Shilt)的键值,取值如表8.4所示。
(3)KeyUp事件:当用户放开任何一个键时触发。
定义:Private Sub <控件名>_KeyUp(KeyCode As Integer, Shift As Integer)其中参数KeyCode与Shift的取值见表8.3与表8.4。
(4)MouseDown事件:当用户按下鼠标触发。
定义:Private Sub <控件名>_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)其中,形参Button表示用户按下的是鼠标左键、中键还是右键,取值如表8.5所示。
形参Shift取值类型见表8.4。
x、y为鼠标光标在控件内的位置坐标,单位为缇。
2、MSFlexGrid控件的方法(1)Clear方法:清除MSFlexGrid控件所有单元格中内容。
语句格式:MSFlexGrid.Clear(2)AddItem方法:在MSFlexGrid控件中添加一个新行。
语句格式:MSFlexGrid.AddItem(String,Index,Number)String为新增行中的字符串,用Tab键作为一行中各单元格字符串的分隔符。
Index为新增行的行号,若省略则添加到最后一行。
Number为添加行的带区号。
(3)RemoveItem方法:在MSFlexGrid控件中删除一行。
语句格式:MSFlexGrid. RemoveItem (Index,Number)Index为要删除行的行号。
Number为要删除行的带区号。
【例8.2】在MSFlexGrid控件上实现九九乘法表,并实现鼠标拖弋功能,即用鼠标拖动方法,将某单元格内容移动到另一个单元格中,或复制到另一个单元格中,如图8.4所示。
图8.4 用MSFLexGrid控件实现九九乘法表设计步骤:1、新建工程与窗体,在窗体上放置一个“退出”按钮、一个“计算九九乘法表”按钮和一个MSFlexGrid控件,设计步骤与属性设置演示:1、新建工程与窗体,在窗体上放置一个“退出”按钮、一个“计算九九乘法表”按钮和一个MSFlexGrid控件,设计步骤与属性设置演示:观看视频2、编写代码实现九九乘法表及鼠标拖弋功能(1)定义全局变量在窗体的通用与声明部分定义四个全局变量:Dim Cell As String, Ctrl As Boolean, Col As Long, Row As Long其中:Cell:用于传送单元格内容;Ctrl:用于判断是否按下“Ctrl”键;Col,Row:用于记录原单元格行号与列号。
(2)编写“计算九九乘法表”命令按钮事件处理过程双击“创建九九乘法表”按钮,编写如下事件处理过程。
Private Sub Command_Calculate_Click()Dim I As Integer, J As IntegerWith MSFlexGrid1.Clear ‘清除所有单元格内容For J = 1 To 9.TextMatrix(0, J) = J ‘在第0行赋数字1~9Next JFor I = 1 To 9.TextMatrix(I, 0) = I ‘在第0列赋数字1~9For J = 1 To 9.TextMatrix(I, J) = CStr(I) & "*" & CStr(J) & "=" & CStr(I * J) ‘赋九九乘法表的内容Next JNext IEnd WithEnd Sub(3)编写鼠标拖弋程序在某单元格按下鼠标左键时,触发MouseDown事件处理过程,在该过程中将光标形状改为“flexArrow ”,并将该单元格内容存放在全局变量Cell中。
拖弋鼠标到另一个单元格,放开鼠标左键,触发MouseUp事件处理过程。
在该过程中将光标形状恢复为“flexCross ”,并将全局变量Cell中内容赋给现单元格,另将前单元格内容删除。
于是前单元格的内容被移动到后单元格中,从而实现鼠标的拖弋功能。
若按下“Ctrl”键拖动鼠标时,光标形状改为“flexHourglass”,松开鼠标后。
前一个单元格的内容被复制到后一个单元格中。
①键按下事件处理过程KeyDown该过程用于判断是否按下“Ctrl”键。
若按下“Ctrl”键则将全局变量Ctrl赋True值,表示用户按下了“Ctrl”键。
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyControl ThenCtrl = TrueEnd IfEnd Sub②键松开事件处理过程KeyUp该过程用于判断是否松开“Ctrl”键。
若松开“Ctrl”键则将全局变量Ctrl赋Flase值,表示用户松开“Ctrl”键。
Private Sub MSFlexGrid1_KeyUp(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyControl Then ‘也可用Shift= vbCtrlMask作为松开Ctrl键的判断条件Ctrl = FalseEnd IfEnd Sub③鼠标按下事件处理过程MouseDown在该过程中将光标形状改为“flexArrow ”,并将该单元格内容存放在全局变量Cell中,将单元格的行号与列号赋给全局变量Row与Col。
Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)With MSFlexGrid1Row = .MouseRow ‘单元格的行号赋给RowCol = .MouseCol ‘单元格的列号赋给ColCell = .TextMatrix(.MouseRow, .MouseCol) ‘单元格的内容赋给Cell If Ctrl = False Then.MousePointer = flexArrow ‘若未按Ctrl键则光标为箭头形Else.MousePointer = flexHourglass ‘若按下Ctrl键则光标为杯形End IfEnd WithEnd Sub④鼠标松开事件处理过程MouseUp在该事件中将Cell中内容赋给当前单元格,当Ctrl=False时清除行号、列号为Row 与Col的原单元格内容,完成一次单元格内容的移动操作(Move);否则不清除原单元格内容完成一次复制操作(Copy),最后将光标恢复成“flexCross”(十字型)。
Private Sub MSFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)With MSFlexGrid1If Ctrl = Flase Then.TextMatrix(Row, Col) = "" ‘若未按Ctrl键则原单格清空End If.TextMatrix(.MouseRow, .MouseCol) = Cell ‘将Cell中原单元格内容赋给当前单元格.MousePointer = f lexCross‘光标恢复十字型End WithEnd Sub2、学生宿舍录入程序设计【例8.3】在学生档案管理系统(xsdagl.vbp)中,编写学生宿舍录入程序,如图8.5所示。