Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/09/2006, 12:07
LeandroA
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 20 años
Puntos: 3
hola te paso dos formas

Agrega un command1 un commondialog y el RichTextbox
Cita:
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Private Const WM_PASTE = &H302

Private Sub Command1_Click()
On Error GoTo ErrorImagen
Dim strRutaImagen As String
Dim imgLaImagen As Picture
Dim strContenidoPortapapeles As String
With CommonDialog1
.DialogTitle = "Insertar imagen"
.CancelError = True
.Filter = "Todos los archivos de imágenes|*.gif;*.jpg;*.jpe;*.bmp;*.png|Imágenes GIF (*.gif)|*.gif|Imágenes JPG (*.jpg, *.jpe)|*.jpg;*.jpe|Imágenes de mapas de bits (*.bmp)|*.bmp|Imágenes PNG (*.png)|*.png|Todos los archivos (*.*)|*.*"
.FilterIndex = 1
.Flags = cdlOFNFileMustExist Or cdlOFNHideReadOnly
.ShowOpen
strRutaImagen = .FileName
End With
Set imgLaImagen = LoadPicture(strRutaImagen)
strContenidoPortapapeles = Clipboard.GetText
Clipboard.Clear
Clipboard.SetData imgLaImagen
SendMessage RichTextBox1.hWnd, WM_PASTE, 0, 0
Clipboard.Clear
Clipboard.SetText strContenidoPortapapeles
Exit Sub
ErrorImagen:
If Err.Number <> 32755 Then
MsgBox "Error " & Err.Number & " " & Err.Description
Exit Sub
End If
End Sub

y la otra forma

Cita:
Private Sub Command1_Click()
'sino es un .bmp puede que de error o bien abra un editor externo al richtextbox
'una solucion podria ser cargarla en un picture y guardarla temporalmente con formato *.bmp y luego pasar la ruta
'en donde se guardo
RichTextBox1.OLEObjects.Add , , "D:\Mis documentos\Mis Imágenes\Pic1.bmp"
'quito el foco para salir de la forma edicion
Command1.SetFocus
End Sub
ventajas y desventajas:
la primera se pega sin aparecer en forma de edicion y lo malo usa el portapapeles

la segunda fijate en el comentario que puse, ademas acepta algunos formatos que el loadpicture no hacepta por ejemplo el .png y tambien puedes insertar cualquier tipo de objeto OLE por ejemplo una hoja de excel, word,video, sequencia midi ,ect.

Saludos
__________________
www.leandroascierto.com