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就是你选择单元格的内容。

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(一次性地对所有列进行设置)。

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 '删除第三行。

msflexgrid1 标头与表格对齐方式

msflexgrid1 标头与表格对齐方式

msflexgrid1 标头与表格对齐方式
在MSFlexGrid控件中,可以通过设置行和列的对齐方式来实现标头与表格的对齐方式。

对于表格内容的对齐方式,可以通过设置列的Alignment属性来实现。

Alignment属性有以下几种取值:
- flexAlignLeft(左对齐)
- flexAlignCenter(居中对齐)
- flexAlignRight(右对齐)
例如,如果想要将第一列的内容左对齐,可以使用以下代码:
```
MSFlexGrid1.ColAlignment(0) = flexAlignLeft
```
对于标头的对齐方式,可以通过设置列的AlignmentHeader属性来实现。

AlignmentHeader属性也有同样的几种取值。

例如,如果想要将第一列的标头左对齐,可以使用以下代码:
```
MSFlexGrid1.ColAlignmentHeader(0) = flexAlignLeft
```
通过设置列的Alignment和AlignmentHeader属性,可以实现标头与表格内容的不同对齐方式。

  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控件中的行数和列数。

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控件事件。

相关文档
最新文档