问题如题,Mshflexgrid默认所有的列都是一样宽的,而我在用的时候有些列很短(序号)有些则很长默认的列宽又不够.能够根据内容的宽度自动设置列宽也可以啊.

解决方案 »

  1.   

    MSFlexGrid1.ColWidth(0) = 2000'设置列宽
    MSFlexGrid1.RowHeight(0) = 1000'设置行高
      

  2.   

    例如控件MSHFlexGrid1有5行5列,可以进行如下设置With MSHFlexGrid1
        '表格5行5列
        .Rows = 5
        .Cols = 5
        
        '设置列宽
        .ColWidth(0) = 1000     '第一列
        .ColWidth(1) = 2000     '第二列
        
        '设置其它列宽
        For i = 2 To 4
            .ColWidth(i) = .Width / 6
        Next i
        
        '设置行高
        .RowHeight(0) = 600     '第一行
        
        '设置其它行高
        For j = 1 To 4
            .RowHeight(j) = .Height / 8
        Next j
    End With
      

  3.   

    With MSHFlexGrid1        '(缺省的)不允许。用户不能用鼠标来重新调整大小。
        .AllowUserResizing = flexResizeNone
        
            '列。用户可以用鼠标来重新调整列的大小。
        .AllowUserResizing = flexResizeColumns
        
            '行。用户可以用鼠标来重新调整行的大小。
        .AllowUserResizing = flexResizeRows
        
            '行和列。用户可以用鼠标来重新调整行和列的大小。
        .AllowUserResizing = flexResizeBoth
        
    End With