【学生】设置MSF控件自动调整列宽

问题:

在查询记录的窗体用到了MSFlexGrid控件,但是有的记录字数太多,被控件给“吞”了,这个时候可以设置自动调整列宽。

解决:

在模块中定义: 

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)) > dbwidth Then
                        dblwidth = frmCur.TextWidth(.TextMatrix(j, i))
                    End If
                Next
                    .ColWidth(i) = dblwidth + dblIncWidth + 1700   '此处1700数值可以根据自己表格界面的情况更改
                End If
            Next
        End With
    
End Sub

 然后在查询窗体进行调用:

Private Sub Form_Load()  '如:收取金额窗体调用
	AdjustColWidth frmaskcollectcash, MyFlexGrid
End Sub

强调:

调用过程中的窗体名称和控件名称要与你自己的命名一致。

发布了68 篇原创文章 · 获赞 12 · 访问量 5847

猜你喜欢

转载自blog.csdn.net/Laura__zhang/article/details/99770119