我可以很好的处理单行文字,但如果我是多行picturebox也只是把它们作为一行print出来,我还如何解决这个问题?

解决方案 »

  1.   

    自己用.TextWidth計算一下要打的文字長度,超過一行則換行
      

  2.   

    用.TextHeight可測字高呀,再加上一點間距就好了
      

  3.   

    在Print之前先设定PictureBox.CurrentX 和 .CurrentY 可以确定打印的初始起点。
    在打印期间,检测这两个属性也可以确定他有没有超出你的打印范围。
      

  4.   

    PictureBox怎么输入文字
    是不是还要增加控件用Me.FormPrint可以吗
      

  5.   

    to Daniel0318(深水炸弹) 
    不用,picturebox.print "aa"就好了,當然要先用.CurrentX .CurrentY 設置坐標
      

  6.   

    不错,先测字宽字高,再计算PICTURE宽高,OK
      

  7.   

    to  sikeen(阿土) 
    谢谢
      

  8.   

    若照sikeen(阿土) 的说法
    Print多行也行啊picture1.print "12345678909" & cbcrlf & "abcdefg"只要自己知道再哪儿换行就行了
      

  9.   

    大家没看到我前一次提的问题。我是想做一个类似画图那样的点文字工具之后就可以在图片的任何位置输入系统中支持的任何字体的文字并且可以改变字体的大小。要达到这种目的我就用了一个TEXTBOX控件。现在我能输入一行文字(绝对有画图的效果)可是多行我就无法处理。所以要请教各位。sikeen说的测字高的方法我想可能回有位置的出入(也就是print方法打印的字和textbox内写的字位置不能绝对的一致)。那为高手还有更好的办法?
      

  10.   

    初步想法:在输入字体的同时计算并在条件符合时改变TEXTBOX的高度或宽度。而后把和你写的文本在PICTUREBOX上画出来。当然画的时候文本的一切属性要和你在TEXTBOX上输入的文本的一切属性要一致才能达到效果。最好就是写一个这样的控件,要是单独为TEXTBOX写代码会很难维护。
      

  11.   

    用API函数,把TEXTBOX中的文本拷贝到图片框中。