可用 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 色”。
详细信息 请参阅《语言参考》的“剪贴板对象”。