我现在要做个设计器的软件,在设计器中可能有Line,label,textbox以及第三方的avtivex控件。在设计时需要有复制和粘贴的功能。而vb6提供的clipboard,可以保存文本,以及picturebox,但怎样保存line,label这样的一个控件呢?

解决方案 »

  1.   

    你用写字板打开 *.frm文件看看就知道了
    VERSION 5.00
    Begin VB.Form Form1 
       Caption         =   "Form1"
       ClientHeight    =   3195
       ClientLeft      =   60
       ClientTop       =   345
       ClientWidth     =   4680
       LinkTopic       =   "Form1"
       ScaleHeight     =   3195
       ScaleWidth      =   4680
       StartUpPosition =   3  '窗口缺省
       begin vb.line line1
        x1=200
        y2=200
        x2=1000
        y2=1200
       end
     '//////////////////////////////////
    ' 可以自己加代码
      begin vb.class object_name
      '///////////////////
       '属性
      end
    End
    Attribute VB_Name = "Form1"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
      

  2.   

    那是内部格式
    你是没方法知道格式的
    还是你自己想种别的方法算了
    不信的话:
    复制一个控件
    再打开“剪贴板查看器”
    看看MicroSoft自己做的“剪贴板查看器”怎么说吧
      

  3.   

    那利用API可不可以实现呢
      

  4.   

    比如就是一段带格式的信息
    "VBContorl
    begin vb.line line1
        x1=200
        y2=200
        x2=1000
        y2=1200
    end
     "
    你粘贴出来就是一个line控件,它的x1\x2分别就是那些值
    当然具体的内部格式肯定不是这样的拉
    如果你能直到它的格式就可以自己修改它了。不过这些都是理论上而言,因为具体的剪贴版的储存方法、格式是不知道的,你要了解的话肯定要与某些内存操作有关。