VB备忘录(22)数据控件及实例

前端之家收集整理的这篇文章主要介绍了VB备忘录(22)数据控件及实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

由于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

猜你在找的VB相关文章