我用了下面这一段: 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 pic As New StdPicture Dim hBitmap As Long Set pic = LoadPicture(App.Path & "\1.jpg") Clipboard.Clear Clipboard.SetData pic Call SendMessage(RichTextBox1.hwnd, WM_PASTE, 0, 0) Set pic = Nothing
Set pic = LoadPicture(App.Path & "\4.gif") Clipboard.Clear Clipboard.SetData pic Call SendMessage(RichTextBox1.hwnd, WM_PASTE, 0, 0) Set pic = Nothing End SubGIF格式和JPG格式的图片是可以显示了~~~~ 不过还是可以改变图片的大小(不爽)而且也只能以单个图片的方式显示~~~不能播放这些图片~~~ 有没有办法实现禁止修改图片大小~~~~最重要的是能够使本来是动态的GIF图片播放起来?
只要有Hwnd的对象都可以在上面画东西,贴个图当然也可以啦。 写了段有意思的程序给楼主。 窗体上放一个RichTextBox和两个CommandButton按钮。 然后贴上代码运行,看看效果,一边还可以打几个字上去。Private Declare Function SetPixelV Lib "gdi32" (ByVal HDC As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Dim Quit As BooleanPrivate Sub Command1_Click() Dim X As Long, Y As Long, I As Long Dim DC As Long, Wid As Long, Hei As Long Wid = RichTextBox1.Width Hei = RichTextBox1.Height RichTextBox1.Move 0, 0, Me.Width, Me.Height DC = GetDC(RichTextBox1.hwnd) Do While Not Quit X = Rnd * Wid Y = Rnd * Hei SetPixelV DC, X, Y, Rnd * X * Y DoEvents Loop End End SubPrivate Sub Command2_Click() Quit = True End SubPrivate Sub Form_Load() Me.ScaleMode = 3 RichTextBox1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight - Command1.Height Command1.Move 0, Me.ScaleHeight - Command1.Height Command1.Caption = "GO" Command2.Move Command1.Width, Command1.Top Command2.Caption = "STOP" End Sub乱吧,哈哈
里面有相关的gif文件操作
那个不是针对RichTextBox的~~~~~
难道在VB中对于RichTextBox就真的没有办法实现呀?
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 pic As New StdPicture
Dim hBitmap As Long
Set pic = LoadPicture(App.Path & "\1.jpg")
Clipboard.Clear
Clipboard.SetData pic
Call SendMessage(RichTextBox1.hwnd, WM_PASTE, 0, 0)
Set pic = Nothing
Set pic = LoadPicture(App.Path & "\4.gif")
Clipboard.Clear
Clipboard.SetData pic
Call SendMessage(RichTextBox1.hwnd, WM_PASTE, 0, 0)
Set pic = Nothing
End SubGIF格式和JPG格式的图片是可以显示了~~~~
不过还是可以改变图片的大小(不爽)而且也只能以单个图片的方式显示~~~不能播放这些图片~~~
有没有办法实现禁止修改图片大小~~~~最重要的是能够使本来是动态的GIF图片播放起来?
写了段有意思的程序给楼主。
窗体上放一个RichTextBox和两个CommandButton按钮。
然后贴上代码运行,看看效果,一边还可以打几个字上去。Private Declare Function SetPixelV Lib "gdi32" (ByVal HDC As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Dim Quit As BooleanPrivate Sub Command1_Click()
Dim X As Long, Y As Long, I As Long
Dim DC As Long, Wid As Long, Hei As Long
Wid = RichTextBox1.Width
Hei = RichTextBox1.Height
RichTextBox1.Move 0, 0, Me.Width, Me.Height
DC = GetDC(RichTextBox1.hwnd)
Do While Not Quit
X = Rnd * Wid
Y = Rnd * Hei
SetPixelV DC, X, Y, Rnd * X * Y
DoEvents
Loop
End
End SubPrivate Sub Command2_Click()
Quit = True
End SubPrivate Sub Form_Load()
Me.ScaleMode = 3
RichTextBox1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight - Command1.Height
Command1.Move 0, Me.ScaleHeight - Command1.Height
Command1.Caption = "GO"
Command2.Move Command1.Width, Command1.Top
Command2.Caption = "STOP"
End Sub乱吧,哈哈