窗体中有两个图形按钮,如何实现两个按钮之间的复制、粘贴功能?
我想实现的功能如下:
  1、单击图形按钮COMMAND1
  2、单击COPY按钮,此时将COMMAND1中的图片拷贝到粘贴板
  3、单击图形按钮COMMAND2
  4、单击PASTE按钮,此时将粘贴板中的图片显示到图形按钮COMMAND2上。
 
Dim Focus As Integer '定义一个全局变量,记录哪个图形按钮刚刚被选中Private Sub Form_Load()
Focus = 0
Clipboard.Clear
End Sub'=============================================================
' 复制命令
'=============================================================
Private Sub Copy_Click()
If Focus = 1 Then
   Clipboard.Clear '清除剪贴板
   Clipboard.SetData Command1.Picture, vbCFBitmap
End If
If Focus = 2 Then
   Clipboard.Clear '清除剪贴板
   Clipboard.SetData Command2.Picture, vbCFBitmap
End If
End Sub'=============================================================
' 粘贴命令
'=============================================================
Private Sub PASTE_Click()
If Focus = 1 Then
   If Clipboard.GetFormat(vbCFBitmap) Then
      Command1.Picture = Clipboard.GetData()
   End If
End If
If Focus = 2 Then
   If Clipboard.GetFormat(vbCFBitmap) Then
      Command2.Picture = Clipboard.GetData()
   End If
End If 
End SubPrivate Sub Command1_Click()
Focus = 1
End SubPrivate Sub Command2_Click()
Focus = 2
End Sub

解决方案 »

  1.   

    不能直接赋值。
     (1)、界面上有32个图形按钮,每个图形按钮上不同的图标代表一种装置类型。
     (2)、因为操作不确定。例如:用户可以随意操作。
          先点击《图形按钮1》,然后点击复制命令;
          再点击《图形按钮8》,然后点击粘贴命令
          就将《图形按钮1》上附加的信息,拷贝到图形按钮8上了。
      附加信息如下:
        (a).图形按钮对应的图片
        (b).装置对就的10个Integer数据。  
      

  2.   

    换个思路.图片为什么非得放在按钮里面?我提供一种思路,你看看是否适合你那里的环境:一,定义一个动态数组,用于装载所有的图片;
       比如可以这样定义:  Dim Pics() as StdPicture二,每当点击按钮后并接着点击了"复制"时,就在复制按钮的单击事件里记录下这个按钮所代表的图形的一个唯一标识值,可以是索引,名称等;
       同样的,在"粘贴"按钮的事件里面也是相同的思路,记下目标按钮的唯一标识值.然后把相应标识值所标志的图片SET到目标按钮上去.不过第二点可以直接用于你现有的代码.只是我推荐另使用专门的对象存放图片....
      

  3.   

    十分感谢,我上面给出的程序已经实现,但是我想是否还有更好的办法没有。
      1、图形按钮上显示图标,看起来比较直观。
      2、粘贴时,要做的其实就是将该“模块”的数据拷贝到
        自定义的链表中。
      3、我定义了一个全局变量Focus  ,用来标识哪个图形按    钮刚刚被点击过。