怎样让MsFlexGrid的列宽,自动适应字符窜的长度。

解决方案 »

  1.   

    调用下列函数即可
    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 + 100
                End If
            Next
        End With
        
    End Sub