【机房收费】VB中MSHFlexGrid控件自动调整行高列宽

前言

    机房收费系统中好多窗体都用到了MSHFlexGrid控件,那么问题就来了,有些东西还有一部分隐藏着,基于用户的体验度,应该让它全部显示出来,因为我们做软件不是自己用的而是给用户用的,为了解决这个问题,试了不少方法,下面就是我的解决方法

方法

    首先在模块里定义一个过程,具体代码如下:

Public Sub AdjustColWidth(frmCur As Form, gridCur As Object, Optional bNullRow As Boolean = True, Optional dblIncWidth As Double = 0)
'--------------------------------------------------------------------
'功能:
'       自动调整Grid各列列宽为最合适的宽度
'参数:
'       [frmCur].........................................当前工作窗体
'       [gridCur]........................................当前要调整的Grid
'--------------------------------------------------------------------
Dim i, j As Integer
Dim dblWidth As Double
    With gridCur
        For i = 0 To .Cols - 1
            dblWidth = 0
            If .ColWidth(i) <> 0 Then
                For j = 0 To .Rows - 1
                    If frmCur.TextWidth(.TextMatrix(j, i)) > dblWidth Then
                        dblWidth = frmCur.TextWidth(.TextMatrix(j, i))
                    End If
                Next
                .ColWidth(i) = dblWidth + dblIncWidth + 1000
            End If
        Next
    End With
End Sub

声明

       说明:以上模块实现MSHFlexGrid的单元格根据内容自动调整行高列宽,调用方式:
AdjustColWidth frmStCheckOnRs, MSHFlexGrid

       放在公共模块中,第一个自动调整宽度的过程在调用的时候需要注意窗体名称和窗体中的MSHFlexGrid控件的名称,别在A窗体调用出B窗体的控件



评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值