检查剪贴板上的数据格式

可用 GetFormat 方法来确认剪贴板上的数据是否具有特定的格式。例如,可根据 Clipboard 上的数据是否与当前活动控件兼容,来决定使“粘贴”命令无效。

Private Sub mnuEdit_Click ()
'单击事件,弹出“编辑”菜单。
   mnuCut.Enabled = True
   mnuCopy.Enabled = True
   mnuPaste.Enabled = False
   If TypeOf Screen.ActiveControl Is TextBox Then
      If Clipboard.GetFormat(vbCFText) Then mnuPaste.Enabled = True
   ElseIf TypeOf Screen.ActiveControl Is ComboBox Then
      If Clipboard.GetFormat(vbCFText) Then mnuPaste.Enabled = True
   ElseIf TypeOf Screen.ActiveControl Is ListBox Then
      If Clipboard.GetFormat(vbCFText) Then mnuPaste.Enabled = True
   ElseIf TypeOf Screen.ActiveControl Is PictureBox _
         Then
      If Clipboard.GetFormat(vbCFBitmap) Then mnuPaste.Enabled = True
   Else
      '不能从其它类型的控件剪切或复制。
      mnuCut.Enabled = False
      mnuCopy.Enabled = False
   End If
End Sub

注意 也可能要检查使用常数 vbCFPalette、vbCFDIB vbCFMetafile 的其它数据格式。如果要用 Clipboard 操作来替换图片的调色板,最好要求 Clipboard 是“vbCFBitmap”,而不是“vbCFDIB”。关于使用调色板的详细内容,请参阅本章后面的“使用 256 色”。

详细信息 请参阅《语言参考》的“剪贴板对象”。