加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

机房收费系统系列三:MSHFlexGrid控件自动调整列宽

发布时间:2020-12-15 03:40:23 所属栏目:百科 来源:网络整理
导读:MSHFlexGrid控件在学生信息管理系统的时候就用到了,对它也只是简单的认识,机房收费系统中它就基本上成为了主角,合适的列宽,不仅美观,还是给人一种舒适感。 认识一个对象,从他的三要素开始入手,属性、事件、方法 。 1、属性介绍: 属性:选择模式0-fre

MSHFlexGrid控件在学生信息管理系统的时候就用到了,对它也只是简单的认识,机房收费系统中它就基本上成为了主角,合适的列宽,不仅美观,还是给人一种舒适感。认识一个对象,从他的三要素开始入手,属性、事件、方法

1、属性介绍:

属性:选择模式0-free,1-by row(选中对应的一整行),2-by column(选中对应的一整列),通过这三个选项,当对MSHFlexGrid中的数据进行修改时候,可以通过修改属性为1-by row,这样可以明显的看出被选中的行。

重要方法:

Additem 向网格中新添加一行
Clear ?清除网格的内容
Removeitem 从网格中清除一行

2、调整MSHFlexGrid控件的列宽。


通过对比这两张图,明显看出第二张图看着更好看,怎样调整MSHFlexGrid控件的大小呢?

方法一:利用MSHFlexGrid控件的属性进行操作。允许用户调整里面有四个选项,0-默认,1-列,2-行,3-行和列,选择3-both,这样就可以手动调节了。


方法二:利用代码,自动调节大小。先在模块中声明一下

Public Sub AutoColWidth(Form As Form,Grid As MSHFlexGrid)
    '统一窗体和控件的文字大小
    Dim FontSize As Integer
    FontSize = Form.FontSize
    Form.FontSize = Grid.Font.Size
    
    Dim RowNum As Long,ColNum As Long,ColWidth As Double
    With Grid
        '遍历每一列
        For ColNum = 0 To .Cols - 1
            ColWidth = 0
            '遍历每一行,找到最长文本
            For RowNum = 0 To .Rows - 1
                If Form.TextWidth(.TextMatrix(RowNum,ColNum)) > ColWidth Then
                    ColWidth = Form.TextWidth(.TextMatrix(RowNum,ColNum))
                End If
            Next
            '在最长文本长度的基础上加90缇(6像素)
            .ColWidth(ColNum) = ColWidth + 150
        Next
    End With
    Form.FontSize = FontSize
End Sub

然后在窗体中再添加一条调用的代码

AutoColWidth Me,myflexgrid
这样,就可以自动调整列宽了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读