谢谢关注..
解决方案 »
- 请教:不把按钮拖到窗体,纯用代码怎么把一个按钮显示在窗体上?
- ADO与Excel的问题
- 麻烦大家来帮我看看代码哪里有错误
- 对于一个已经运行的外部程序,现已获得该程序的进程ID号,用此代码却无法去掉它的右上角的最小、最大、关闭按钮,怪哉?
- Listview如何定位最后一行.
- 怎么用vb实现*.txt或*.doc文件的打印呀
- 请问vb中怎么使用socket通信
- C语言中整数表示的字节与VB写的程序进行SOCKET通讯后如何将字节转换成整型??再线等
- 请问怎么获得一个variant变量的长度?
- 在VB中如何制作WIN95开始菜单
- 打印的时候针反复的移动打印两边 字体都变粗体了 还增加了单据的打印时间
- 猴哥接分贴
Private B() As BytePrivate Sub Command1_Click() '写入变量
Set PBag = Nothing
If Clipboard.GetFormat(vbCFBitmap) = True Then
PBag.WriteProperty "BitMapData", Clipboard.GetData(vbCFBitmap)
B() = PBag.Contents
End If
End SubPrivate Sub Command2_Click() '写入剪贴板
On Error Resume Next
If IsEmpty(PBag.Contents(0)) = False Then
End If
If Err.Number = 9 Then
Err.Clear
On Error GoTo 0
GoTo 100:
End If
Clipboard.SetData PBag.ReadProperty("BitMapData"), vbCFBitmap
100:
End Sub
能解释下IsEmpty(PBag.Contents(0)) 是什么意思吗
还有If Err.Number = 9 Then 是判断什么?
Option Explicit
Dim picBag As New PropertyBag
Dim picData() As Byte
'从剪贴板将图片读取到目标图片框
Private Sub btnSetPicToPictureBox_Click()
picD.Picture = Clipboard.GetData
End Sub
'从变量将图片读取到剪贴板
Private Sub btnSetPictureInClipBoard_Click()
On Error GoTo errSub
If IsEmpty(picBag.Contents(0)) = False Then
Clipboard.SetData picBag.ReadProperty("BitMapData"), vbCFBitmap
End If
btnSetPicToPictureBox.Enabled = True
Exit Sub
errSub:End Sub
'读取图片到变量
Private Sub btnSetPictureInVar_Click()
Set picBag = Nothing
picBag.WriteProperty "BitMapData", picS.Picture
picData = picBag.Contents
btnSetPictureInClipBoard.Enabled = True
End SubPrivate Sub Form_Load()
picD.Width = picS.Width
picD.Height = picS.Height
picS.Picture = LoadPicture("C:\1.bmp")
btnSetPictureInVar.Enabled = True
btnSetPictureInClipBoard.Enabled = False
btnSetPicToPictureBox.Enabled = False
End Sub
是判断是否数组下标越界
是判断存储图片的变量是否没有数据
Dim pic As IPictureDispPrivate Sub Command1_Click()
If Clipboard.GetFormat(vbCFBitmap) Then Set pic = Clipboard.GetData(vbCFBitmap)
Picture1.Picture = pic
End SubPrivate Sub Command2_Click()
If Not (pic Is Nothing) Then Clipboard.SetData pic, vbCFBitmap
End Sub
Option Explicit
Dim picBag As New PropertyBag
Dim picData() As Byte
'清除picD内容
Private Sub btnPicDCls_Click()
Set picD.Picture = Nothing
End Sub'从剪贴板将图片读取到目标图片框
Private Sub btnSetPicToPictureBox_Click(Index As Integer)
If Index = 0 Then
picD.Picture = Clipboard.GetData '从剪贴板
Else
picD.Picture = picBag.ReadProperty("BitMapData", vbCFBitmap) '从变量
End If
End Sub'从变量将图片读取到剪贴板
Private Sub btnSetPictureInClipBoard_Click()
On Error GoTo errSub
If IsEmpty(picBag.Contents(0)) = False Then
Clipboard.SetData picBag.ReadProperty("BitMapData"), vbCFBitmap
End If
btnSetPicToPictureBox(0).Enabled = True
btnSetPicToPictureBox(1).Enabled = True
Exit Sub
errSub:End Sub
'读取图片到变量
Private Sub btnSetPictureInVar_Click()
Set picBag = Nothing
picBag.WriteProperty "BitMapData", picS.Picture
picData = picBag.Contents
btnSetPictureInClipBoard.Enabled = True
End SubPrivate Sub Form_Load()
picS.AutoRedraw = True
picD.AutoRedraw = True
picD.Width = picS.Width
picD.Height = picS.Height
picS.Picture = LoadPicture(App.Path & "\1.bmp")
btnSetPictureInVar.Enabled = True
btnSetPictureInClipBoard.Enabled = False
btnSetPicToPictureBox(0).Enabled = False
btnSetPicToPictureBox(1).Enabled = False
End Sub
IsEmpty(PBag.Contents(0))在PBag的内容没有被赋值时会出错的。
所以利用这一点,加上错误捕捉,可以判断PBag.Contents()这个Byte数组是否被赋值,是否为空