'//自动调整Grid各列列宽为最合适的宽度
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
========================================
以上是自动调整何时宽度的函数,下面为使用方法:
AdjustColWidth frmMain, MSFlexGrid1 '调整Grid各列列宽为最合适的宽度
以上函数是用于MSFlexGrid的,DataGrid差不了多少,把它改改就好了比如把MSFlexGrid1.ColWidth(i)改为DataGrid1.Columns(i).Width
========================================
以下是一些搜索到的资料:
http://zhidao.baidu.com/question/52474933.html?si=9http://zhidao.baidu.com/question/5901160.html?si=3http://zhidao.baidu.com/question/43806943.html?si=4http://zhidao.baidu.com/question/6911265.html?si=6