Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

Hmm har ikke noe særlig kode, jeg bare valgte RichTextBox fra Toolbox.

Men jeg har en meny som heter Insert og en knapp som heter Image der...

Når jeg trykker på den vil jeg at en OpenFileDialog som man kan lete etter bilder fra.

Jeg vet hvordan jeg gjør alt dette, men jeg får ikke OleObject.Add til å virke...

er det noe jeg må inkludere for at det skal virke?

Lenke til kommentar

OpenFileDialog dlgOpen = new OpenFileDialog();

dlgOpen.Filter = "JPEG (*.jpg)|*.jpg";

if (dlgOpen.ShowDialog() == DialogResult.OK)
{
Image img = Image.FromFile(dlgOpen.FileName);

Clipboard.SetImage(img);

rtf.Paste(DataFormats.GetFormat(DataFormats.Bitmap));
}

 

;)

 

edit: ops! dette er visst VB kategorien... vel, dere skjønner det sikkert.

Endret av GeirGrusom
Lenke til kommentar

En måte det kan gjøres på for eksempel er å bruke RichTextBox1.Paste, men da må bildet først kopieres til Clipboard. Så har man problemet hvor i tekstboksa's tekst bildet skal settes inn. Her er en enkel demo der bilder byttes ut med Bilde1, Bilde2 og Bilde3 i teksten.

 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
	Dim c As String
	c = "Test med bilder i RichTextBox."
	c = c & vbCrLf & "Bilde1"
	c = c & vbCrLf & "Håper Brann vinner i dag."
	c = c & vbCrLf & "Bilde2"
	c = c & vbCrLf & "Ellers er jo Enga er bra lag."
	c = c & vbCrLf & "Bilde3"
	c = c & vbCrLf & "Rosenborg er jo dårlig da, ja ja."
	RichTextBox1.Text = c
	Dim startpos As Integer, endpos As Integer, filnavn As String
	filnavn = "C:\aaaaa.jpg"
	startpos = RichTextBox1.Find("Bilde1")
	endpos = "Bilde1".Length
	AddImage(startpos, endpos, filnavn)
	filnavn = "C:\bbbb.jpg"
	startpos = RichTextBox1.Find("Bilde2")
	endpos = "Bilde2".Length
	AddImage(startpos, endpos, filnavn)
	filnavn = "C:\cccc.bmp"
	startpos = RichTextBox1.Find("Bilde3")
	endpos = "Bilde3".Length
	AddImage(startpos, endpos, filnavn)
End Sub

Private Sub AddImage(ByVal startpos As Integer, ByVal endpos As Integer, ByVal filnavn As String)
	Dim img As New System.Drawing.Bitmap(filnavn)
	Clipboard.SetImage(img)
	RichTextBox1.SelectionStart = startpos
	RichTextBox1.SelectionLength = endpos
	RichTextBox1.Paste()
End Sub

Lenke til kommentar
GeirGrusom: DU SKRIVER FEIL VB! :p

 

amatør...

 

 

 

Må bare tilstå det, når jeg en sjelden gang tar turen innom får dere meg bestandig til å flire :!:

 

 

 

Dere i bokgjengen asså. Programmeringsdelen må være den kosligste i hele diskusjon.no :yes:

Endret av ze5400
Lenke til kommentar

Særlig er det uheldig å bruke clipboard hvis brukeren ikke vet det, fordi da mister han jo det bildet han eventuelt har i clipboard før pasteoperasjonene av bilder til richtextbox. Derfor bør vel koden før pastinga inneholde en sjekk som f.eks. dette:

 

Dim clipPic As System.Drawing.Image
If Clipboard.ContainsImage() Then clipPic = Clipboard.GetImage()

og etter at pastinga er gjort f.eks.:

 

if clipPIc is nothing exit sub
Clipboard.SetImage(clipPic)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...