1.我用mshflexgrid控件时 如何能够做到不改变列宽度的情况下
根据单元格里内容的多少自动扩充行的高度能做到吗 如果做不到应该用什么控件做2.我后来用vsflexgrid控件做时 用到了VSFlexGrid1.AutoSizeMode = flexAutoSizeRowHeight 但是还是不行 请高手指导下
用的对不对 如果不对针对VSFlexGrid控件要想实现我上面的功能应该怎么做 谢谢了
急!!!

解决方案 »

  1.   

    MSHFlexGrid.RowHeight(Index) = -1 
      

  2.   

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

  3.   

    肯定是不行的阿,即使行再高,只要列宽不够照样显示不全阿,我这有个自动匹配列宽的函数参考一下吧你
    Public Function setColWidth(MSHGrid As MSHFlexGrid, Form As Form, Optional RowNum As Integer = 0)
      Dim i As Integer
      Dim n As Long
      Dim myWidth As Single
      Dim rows As Integer
      For i = 0 To MSHGrid.Cols - 1
         If MSHGrid.ColWidth(i) <> 0 Then
            myWidth = 0
            If RowNum = 0 Then
                For n = 0 To MSHGrid.rows - 1
                   If myWidth < Form.TextWidth(Trim(MSHGrid.TextMatrix(n, i)) & "AA") Then
                      myWidth = Form.TextWidth(Trim(MSHGrid.TextMatrix(n, i)) & "AA")
                   End If
                Next
            Else
                '传入数据行数,防止为空退出
                For n = 0 To RowNum - 1
                   If myWidth < Form.TextWidth(Trim(MSHGrid.TextMatrix(n, i)) & "AA") Then
                      myWidth = Form.TextWidth(Trim(MSHGrid.TextMatrix(n, i)) & "AA")
                   End If
                Next
            End If
            MSHGrid.ColWidth(i) = myWidth
         End If
      Next
    End Function
      

  4.   

    mshflexgrid不行,但是vsflexgrid好像是可以把,把wordwrap设置true试试看。