Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

como agregar imagen en un RichTextBox

Estas en el tema de como agregar imagen en un RichTextBox en el foro de Visual Basic clásico en Foros del Web. como puedo agregar una imagen en un RichTextBox...
  #1 (permalink)  
Antiguo 15/09/2006, 11:29
Avatar de VisualGuallabo  
Fecha de Ingreso: marzo-2005
Mensajes: 288
Antigüedad: 19 años, 2 meses
Puntos: 2
como agregar imagen en un RichTextBox

como puedo agregar una imagen en un RichTextBox
__________________
"No hay lenguaje de programación potente que sea inferior a otro semejante cuando existe un buen programador que lo defiende"

Yosvanis Cruz Alias VisualGuallabo
Ycruz
  #2 (permalink)  
Antiguo 15/09/2006, 12:07
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años, 1 mes
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
  #3 (permalink)  
Antiguo 15/09/2006, 12:45
Avatar de VisualGuallabo  
Fecha de Ingreso: marzo-2005
Mensajes: 288
Antigüedad: 19 años, 2 meses
Puntos: 2
Muchas grasias solo me falta como unir el contenido de dos RichTextBox en otro o agregarle el contenido de uno a otro sin que se pierda el formato. ni el texto.
__________________
"No hay lenguaje de programación potente que sea inferior a otro semejante cuando existe un buen programador que lo defiende"

Yosvanis Cruz Alias VisualGuallabo
Ycruz
  #4 (permalink)  
Antiguo 15/09/2006, 23:31
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años, 1 mes
Puntos: 3
RichTextBox1.SelRTF = RichTextBox2

Saludos
__________________
www.leandroascierto.com
  #5 (permalink)  
Antiguo 18/09/2006, 07:46
Avatar de VisualGuallabo  
Fecha de Ingreso: marzo-2005
Mensajes: 288
Antigüedad: 19 años, 2 meses
Puntos: 2
grasias Leandro
__________________
"No hay lenguaje de programación potente que sea inferior a otro semejante cuando existe un buen programador que lo defiende"

Yosvanis Cruz Alias VisualGuallabo
Ycruz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 20:12.