各位高手:
    你好,我是新手,现有一个问题请教:
    我用VB6编写了一小程序,需要将程序运行不同阶段产生的复杂的文本信息显示出来,并且支持对该文本的复制和保存功能,以便管理。
    我现在用的是picture1.print 语句显示在picturebox中,大致如下:
                picture1.print "你好!",
                ......
                picture1.print
                picture1.print "    朋友";
                ......
                picture1.print "        很久不见了!";
    但picturebox不支持对类似这样对输出格式要求较高的显示在其内的复杂文本件的鼠标右键复制功能。
    请教各位高手,能否找到解决将类似这样复杂的文本信息显示出来,并且支持对该文本的复制和保存功能的办法?希望得到您的详细答复,在此感谢各位高手!

解决方案 »

  1.   

    输出在文本框
    文本框设置为多行。              text1.text =text1.text & vbcrlf & "你好!",
                    ......
                 text1.text =text1.text & vbcrlf &"    朋友";
                    ......
                text1.text =text1.text & vbcrlf &"        很久不见了!";
      

  2.   

    你可以多设一个隐藏的文本框,,,,让打印在picture中的文字都显示在文本框中,,,,,然后让文本去支持复制和保存啊,,
      

  3.   

    //你可以多设一个隐藏的文本框,,,,让打印在picture中的文字都显示在文本框中,,,,,用文本框的话,可能涉及文本框的透明问题,还不如直接用标签控件
      

  4.   

    完全可以自己模拟复制功能:Clipboard 对象
                提供对系统 Clipboard 的访问。语法Clipboard说明Clipboard 对象用于操作剪贴板上的文本和图形。它使用户能够复制、剪切和粘贴应用程序中的文本和图形。在复制任何信息到 Clipboard 对象中之前,应使用 Clear 方法清除 Clipboard 对象中的内容,例如 Clipboard.Clear。注意所有 Windows 应用程序共享 Clipboard 对象,因此当切换到其它应用程序时,剪贴板内容会改变。Clipboard 对象可包含多段数据,只要每段数据的格式不同。例如,可用 SetData 方法把位图以 vbCFDIB 格式放到 Clipboard 中,接着再用 SetText 方法以 vbCFText 格式将文本放到 Clipboard 中。然后用 GetText 方法检索文本或用 GetData 方法检索图形。当用代码或菜单命令把另一段数据放到 Clipboard 中时,原 Clipboard 中相同格式的数据会丢失。 
    SetText 方法
          用以使用指定的 Clipboard 图象格式将文本字符串放到 Clipboard 对象中。不支持命名参数。语法object.SetText data, formatSetText 方法的语法包含下列部分:部分 描述 
    object 必需的。一个对象表达式,其值为“应用于”列表中的一个对象。 
    data 必需的。是被放置到剪贴板中的字符串数据。 
    Format 可选的。一个常数或数值,按照下列“设置值”中的描述,指定 Visual Basic 识别的剪贴板格式。 
    设置值用于 format 的设置值有: 常数 值 描述 
    vbCFLink &HBF00 DDE 对话信息  
    vbCFRTF &HBF01 RTF 格式 
    vbCFText 1 (缺省值)文本 
    说明上述常数在对象浏览器中的 Visual Basic (VB) 对象库里列出。SetText 方法示例
    本示例使用 SetText 方法从一个文本框中复制文本到剪贴板。要检验此示例,可将本例代码粘贴到一个带有名为 Text1 的窗体的声明部分,然后按 F5 键并单击该窗体。Private Sub Form_Click ()
       Const CF_TEXT = 1   ' 定义位图各种格式。
       Dim I, Msg, Temp   ' 声明变量。
       On Error Resume Next   ' 设置错误处理。
       Msg = "Type anything you like into the text box below."
       Text1.Text = InputBox(Msg)   ' 取得用户正文。
       Msg = "Choose OK to copy the contents of the text box "
       Msg = Msg & "to the Clipboard."
       MsgBox Msg   ' 显示信息。
       ClipBoard.Clear   ' 清除剪贴板。
       Clipboard.SetText Text1.Text   ' 将正文放置在剪贴板上。
       If Clipboard.GetFormat(CF_TEXT) Then
          Text1.Text = ""   ' 清除该正文框。
          Msg = "The text is now on the Clipboard. Choose OK "
          Msg = Msg & "to copy the text from the Clipboard back "
          Msg = Msg & "to the text box."
          MsgBox Msg   ' 显示信息。
          Temp = Clipboard.GetText(CF_TEXT)   ' 取得剪贴板正文。
          For I = Len(Temp) To 1 Step -1   ' 使该正文反向。
             Text1.Text = Text1.Text & Mid(Temp, I, 1)   
          Next I
       Else
          Msg = "There is no text on the Clipboard."
          MsgBox Msg   ' 显示错误信息。
       End If
    End Sub
      

  5.   

    支持   zyl910(910:分儿,我又来了!)
      

  6.   

    总之就是可以往PictureBox中输入的同时记录输入的内容(可以同时放到TextBox中并设置TextBox的Visible属性为False),往剪贴板里复制时用zyl说的方法就行了。