TextBox+MsHFlexGrid 自动换行问题
当单元格数据量大于TextBox+MsHFlexGrid设定的宽度时,应折行类似于EXCEL方式显示。请各位老师赐教了。TextBox+MsHFlexGrid嵌入表格后,不能根据字数多少自动调整行高,我该怎么办!

解决方案 »

  1.   

    看来没有人来回答,我就告诉你一法:
    RichTextBox1.RightMargin = RichTextBox1.Width - 40  '自动换行
    不用textbox改用RichTextBox,部件里选 Microsoft rich textbox control 6.0
    '处理行高,10个字符是假设,自己定
    if len(RichTextBox1.text) mod 10=0 then 
       RichTextBox1.Height=RichTextBox1.Height*(len(RichTextBox1.text)/10)
    end if
      

  2.   

    哦!可我使用RICHTEXTBOX录入后都是格式符,怎么办啊!内容不正常。有处理办法吗?
      

  3.   

    加一个文本框,text1.text= RichTextBox1.text,看字符对不对
      

  4.   

    大哥,你说的太复杂了。我搞了半天搞不定啊!有没有现成的代码或程序发给我参考下。
    [email protected] 谢了。
      

  5.   

    不介意的话程序发给我,可以帮你改,我懒得重头做了,要写清楚你的问题和你在csdn的名字,否则我可能记不清是谁的了.没办法,
      

  6.   

    利用LENB函数
    先判断TextBox和MSHFlexGrid设定宽度每行可容纳的字节数(VB6里面标准字体每字节占用宽度90缇,但要完整显示该字符还需要再加90缇,这样完整显示一个英文字符行宽应为180缇,二个则为270缇)。然后利用LenB函数计算TextBox和MSHFlexGrid实际字节数
    LenB(strconv(String),vbfromunicode)然后 总字节数/每行可容纳字节数+1 即得到 实际行数最后 行高=实际行数*每行行高(标准字体每行行高255)
      

  7.   

    以上适用于MSHFlexGrid,需开启 自动换行
    但就本人实际使用效果而言,并不好,英为MSHFlexGrid对于英文字符、数字等不会自动换行
      

  8.   

    textbox 设置multiline = true
      

  9.   

    难道,大家用VB就都不能很好的解决这种问题吗?看来还是VB控件不够完善啊!
      

  10.   

    在txtEdit_KeyDown事件中,加上
             If .Fields("书名") <> "" Then
                flex1.TextMatrix(flex1.Row, 2) = .Fields("书名")
                If Len(.Fields("书名")) > 22 Then flex1.RowHeight(flex1.Row) = 500
             End If
      

  11.   

    测试成功,不过不好意思,我要的还不仅仅是这个效果。我是想MsHFlexGrid对已经录入过的历史数据,读取后显示的时候能根据字数自动折行。asftrhgjhkjlkttttttt不知道这次我说的明白了吗!
      

  12.   

    有点意思,楼主在群内不把问题说清楚,想找你找不到,跑这里打哑谜了,你的问题简单,早说清楚了早就解决了.
    办法:加载时做循环判断即可
    问题:"MsHFlexGrid对已经录入过的历史数据,读取后显示的时候能根据字数自动折行",你的是哪个窗体用MsHFlexGrid显示全部记录的?
      

  13.   

    哦!不好意思!我QQ人太多了。最近很少上,你是看不到我。我都夜里上!
    "MsHFlexGrid对已经录入过的历史数据,读取后显示的时候能根据字数自动折行"是这个意思!
    我是想用frm_tsgl_hs窗体显示数据的!但现在因为解决不了折行问题,我数据都在DataGrid1窗体里显示着呢。我还是坚持想用frm_tsgl_hs能显示历史单子的数据,并且能自动折行。
      

  14.   

    asftrhgjhkjlkttttttt你的方法我看到了。我用过,我知道怎么回事了。MsHFlexGrid只支持中文自动换行,英文就不能自动换行了。我之前做测试都是乱输的字母,所以一直实现不了。多谢了楼主,让你辛苦这么久。加分后给分!