一个简单的例子:Option Explicit Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const wm_paste = &H302Private Sub Command1_Click() Dim pic1 As PictureBox Set pic1 = Controls.Add("vb.picturebox", "pic1", Me) pic1.Picture = LoadPicture("d:\1.jpg") Clipboard.Clear Clipboard.SetData pic1.Picture SendMessage RichTextBox1.hwnd, wm_paste, 0, 0 Controls.Remove pic1 End SubPrivate Sub Form_Load() RichTextBox1.Text = "一个图片:" & vbCrLf RichTextBox1.SelStart = Len(RichTextBox1.Text) End Sub
那就不用picture控件吧,,,,,在TEXT中用剪粘板的方法把图片,,,剪切进去,,, private sub picture1_click()Clipboard.ClaarClipboard.SetData picture1.picture picture1.clsPicture1 = Clipboard.GetData()end sub
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const wm_paste = &H302Private Sub Command1_Click()
Dim pic1 As PictureBox
Set pic1 = Controls.Add("vb.picturebox", "pic1", Me)
pic1.Picture = LoadPicture("d:\1.jpg")
Clipboard.Clear
Clipboard.SetData pic1.Picture
SendMessage RichTextBox1.hwnd, wm_paste, 0, 0
Controls.Remove pic1
End SubPrivate Sub Form_Load()
RichTextBox1.Text = "一个图片:" & vbCrLf
RichTextBox1.SelStart = Len(RichTextBox1.Text)
End Sub
private sub picture1_click()Clipboard.ClaarClipboard.SetData picture1.picture
picture1.clsPicture1 = Clipboard.GetData()end sub