由于VB6逐渐与时远离。下面只看有用的。
直接套用其中方法即可,重点方法代码如下:
添加记录ADDNEW
修改记录
删除记录
查询记录
这个直接改变记录源,然后reflesh就可得到查询结果
=================================================================================================================
=================================================================================================================
MSHFlexGrid控件
属性
object.AllowBigSelection [=Boolean] 单击行头或者列头时,是否可以使得整个行或者列都被选中 object.AllowUserResizing [=value] 是否可以用鼠标来对 MSHFlexGrid 控件中行和列的大小进行重新调整 object.Appearance[=flex3D | flexflat] 外观3D或平坦 object.BackColor [=color] 标准单元背景 object.BackColorBkg [=color] 表格外背景 object.BackColorFixed [=color] 固定头背景 object.BackColorSel [=color ] 被选择单元背景 object.BackColorBand [=color] 带区的背景 object.BackColorHeader [=color] 标头区域的背景 object.BackColorIndent [=color] 缩进区域的背景 object.BackColorUnpopulated [=color] 未填数据区域的背景 CellAlignment 一个或被选多个单元对齐方式 CellBackColor CellForeColor CellFontBold CellFontItalic CellFontName CellFontSize CellFontStrikeTrough CellFontUnderLine CellFontWidth 字符的宽窄的点数,越大越宽 CellHeight 缇为单位 CellLeft CellTop CellWidth CellPicture 显示图片 set mshflexgird1.picture=loadpicture("D:1.jpg") CellPictureAlignment CellTextStyle 选中的一个或多个单元的文本3D样式(凸陷平) CellType 单元类型(标准单元、固定、标头、缩进带区、未填区域) Clip Cols 总列数(含固定列) Rows FixedCols 固定列总数 FixedRows Col 当前列 Row ColSel 被选中单元列(多个时,第一个是Col,最后一个是ColSel) RowSel ColAlignment(index) [=value] 标准列对齐方式 ColAlignmentBand(index) [=value] 带区中的列 ColAlignmentHeader(index) [=value] 标头列 ColAlignmentFixed(index) [=value] 固定列 object.ColWidth(index,number) [= value] 缇,列宽(-1时为所有列设置,0时相当于此列不可见) object.RowHeight(number) [=value] ColPos 缇,单元格距控件左上角的左距 RowPOs 顶距 FocusRect 焦点矩形样式(被选择单元区域外貌样式) object.FormatString [= string] 设置 MSHFlexGrid的列宽、对齐方式、固定行文本和固定列文本 FormatString 属性包含由管道字符 (|) 分隔的段。管道字符之间的文本定义一列并且也可能包含特定 的对齐字符。这些字符使整个列左对齐(<)、居中(^)或右对齐(>)。另外,根据缺省规定 文本被指定给行 0,且文本宽度定义每一列的宽度。 FormatString 属性可能包含一个分号 (;)。这使得字符串的余下部分被解释为行标头和行宽度信息。另 外,根据缺省规定文本被指定给列 0,且最长的字符串定义列 0 的宽度。 GridColor 标准单元格线色(只有在 GridLines 属性被设置为 1 (线)时才能使用) GridColorFixed 固定单元格线色(只有在 GridLinesFixed 被设置为 1 (线)时才能使用) 凸起和凹入的网格线总是按黑和白颜色绘制(见CellTextStyle) GridLines 格线类型 GridLinesFixed 固定格线类型 GridLineWidth 格线粗细(像素,含固定格线) GridLineWidthFixed 固定格线粗细 HighLight 选中单元突出显示类型(比如失去焦点后还显示不) .LeftCol [= value] 返回或设置 MSHFlexGrid 中最左边可见的不固定列号索引 .TopRow [= value] 最顶部可见的不固定行号索引(两项用于滚动) .MergeCells [=value] 合并方式(自由合并、向左行看齐合并等) .MergeCol(number) [=Boolean] 指明哪列是否合并 .MergeRow(number) [=Boolean] 哪行 .MouseCol 按列索引返回鼠标的位置 .MouseRow 行 .Picture 将表格部分作为一幅图(可打印、保存)。 SavePicture Mshflexgrid1.picture,"D:1.jpg" '保存为一个图片 .PictureType 图的类型(全色或单色)
.Redraw [=Boolean] 是否开启重绘。(因每次内容改变都会自动重绘一次,会给用户闪烁现象。要避免,就先关闭它,再改变N个值后,再重绘一次,就不会有闪烁)
.RowSizingMode [=value] 改变一行高度时,是影响全部行还是当前行。
下面的例子是转载的论坛某高手的。忘了名字。
注意的是:RowPosition(N) =M
N表示是表格中某行的索引
整个表达式是,把某行提到距首行的某M行处(这里是插入,不是覆盖。)
理解一下真正表格的长度,与视窗(显窗)表格的位置。当点击滚动条的实际上是移动的显窗。
例:
MSHFlexGrid1.RowPosition(0) = 9 '把索引0的位置放到9处,中间的依次递补(原来的1到0处,原来的2到1处,原来的3行到2行,,,直到9行时是原来0行的内容。
Dim h As Integer
Private Sub Form_Load()
With MSHFlexGrid1
.Rows = 14
.Cols = 8
.Move 0,0
Dim i As Integer,j As Integer,he As String,r As Integer,N As Integer
.FixedCols = 1
.FixedRows = 1
he = "|^xxx1|^xxx2|^xxx3|^xxx4|^xxx5|^xxx6|^xxx7|^xxx8"
.FormatString = he
.RowHeight(-1) = 400
.ColWidth(-1) = 800
.ColWidth(0) = 200
.Height = .RowHeight(1) * 5 + 290 + 10
.Width = .ColWidth(1) * (.Cols - 2) + 290 + 200
For i = 1 To .Rows - 2
For j = 1 To .Cols - 1
If j = 1 Then
.TextMatrix(i,j) = "name" & i
Else
.TextMatrix(i,j) = i + j
End If
Next
Next
.Row = 13
.Col = 1
.Text = "合计"
For j = 1 To .Cols - 1
If j > 1 Then
For r = 1 To .Rows - 2
N = N + .TextMatrix(r,j)
Next
.TextMatrix(r,j) = N
End If
.Col = j
.CellAlignment = 4 '最后一行的对齐与背景
.CellBackColor = &H80FFFF:
Next
.RowPosition(13) = (.Height - 290) .RowHeight(1) - 1 '确定索引13行(最后一行合计),显示在什么位置,即第5行处
h = (.Height - 290) .RowHeight(1) - 1 '共有多少行(除去合计这一行)
End With
End Sub
Private Sub MSHFlexGrid1_Scroll()
With MSHFlexGrid1
.RowPosition(h) = .TopRow + 3 '始终让最后一行(合计行)在显显窗+3处
h = .TopRow + 3 '上面“最后一行”插入到topRow+3行了,重新定准这行,即h始终定准合计行
End With
End Sub
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|