怎样开始时设定msflexgrid中各列的宽度

解决方案 »

  1.   

    开始时是不能设的,在程序中写可以,两种你分别试试就好了:
    .............
    求表格每一列的最大字符数的长度,再将长度转换成列的宽度'最大字符数的长度:
    Dim L1 As Integer    'L1表示某一列的最大字符数
    Dim i As Integer
        For i = 1 To MSFlexGrid1.Rows
            If Len(Trim(MSFlexGrid1.TextMatrix(i, 1))) > L1 Then
                L1 = Len(Trim(MSFlexGrid1.TextMatrix(i, 1)))
            End If
        Next i
    '转换成列的宽度
    MSFlexGrid1.ColWidth(1) = L1 * 300    '一个汉字用300,字母用1500
    ...................
    这是我刚改过的,保证显示 标题和信息Dim L1 As Integer    'L1表示某一列的最大字符数
    Dim i As Integer
    Dim L2 As Integer    For i = 1 To MSFlexGrid1.Cols - 1
                L1 = Len(Trim(MSFlexGrid1.TextMatrix(1, i)))
                 L2 = Len(Trim(MSFlexGrid1.TextMatrix(0, i)))
                If Len(Trim(MSFlexGrid1.TextMatrix(1, i))) < Len(Trim(MSFlexGrid1.TextMatrix(0, i))) Then
                 MSFlexGrid1.ColWidth(i) = L2 * 300
                 Else
                 MSFlexGrid1.ColWidth(i) = L1 * 300
                 End If
                 
        Next i
      

  2.   

    在运行时进行程序控制设计.ColWidth属性