但是MSHFlexGrid的行高不会自动变高,有没有什么属性可以得到他换了几行?

解决方案 »

  1.   

    MSHFlexGrid1.WordWrap = True
    MSHFlexGrid1.ColWidth(1) = 1000
    MSHFlexGrid1.TextMatrix(1, 1) = "True 单元文本显示为多行自动换行的文本。 "
    Printer.Font = MSHFlexGrid1.Font
    MSHFlexGrid1.RowHeight(1) = int((Printer.TextWidth(MSHFlexGrid1.TextMatrix(1, 1)) / MSHFlexGrid1.ColWidth(1)+0.5) * 300一个很笨的办法,用printer对象计算出文字的长度,从而得到行数,然后调整行高
      

  2.   

    printer对象可以用PicBox代替,有谁知道PicBox如何声明,我是在类模块中写代码,不想声明为窗体上的PicBox。PicBox能否直接引用?谢谢。
      

  3.   

    Dim x As Control
    Set x = Controls.Add("VB.picturebox", "pic1")
    x.Font = Text1.Font
    x.FontSize = Text1.FontSize
    x.FontBold = Text1.FontBold
    MsgBox x.FontSize
    MsgBox x.TextWidth("四大皆空发火点技术")然后再判断换行。
    不知道在类模块中是否可行,没有测试,不好意思!