kake_fisk Skrevet 26. april 2008 Del Skrevet 26. april 2008 Hvordan kan jeg legge til bilder i rich text? Jeg prøvde OleObject.Add men det virket ikke... Noen som vet hvordan? Lenke til kommentar
Manfred Skrevet 27. april 2008 Del Skrevet 27. april 2008 Det er bare bitmaps du får lagt til i rtf? Hvordan er koden din da? Jeg har prøvd litt nå, men jeg er visst ikke synsk nok til å finne det ut. Lenke til kommentar
kake_fisk Skrevet 27. april 2008 Forfatter Del Skrevet 27. april 2008 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
GeirGrusom Skrevet 27. april 2008 Del Skrevet 27. april 2008 (endret) 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 27. april 2008 av GeirGrusom Lenke til kommentar
backup Skrevet 27. april 2008 Del Skrevet 27. april 2008 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
kake_fisk Skrevet 27. april 2008 Forfatter Del Skrevet 27. april 2008 Takk det virket, men fant ikke noe galt med GeirGrusom sin kode, bortsett fra at han hadde gjort litt feil med if setningene og det... Lenke til kommentar
GeirGrusom Skrevet 27. april 2008 Del Skrevet 27. april 2008 hehe feil ja... jeg skrev C# istedet for VB.NET Lenke til kommentar
kake_fisk Skrevet 27. april 2008 Forfatter Del Skrevet 27. april 2008 Jaja, er ganske ny i VB og jeg greide å omskrive den til VB og det er jo possetivt Lenke til kommentar
Manfred Skrevet 28. april 2008 Del Skrevet 28. april 2008 GeirGrusom: DU SKRIVER FEIL VB! amatør... Lenke til kommentar
ze5400 Skrevet 28. april 2008 Del Skrevet 28. april 2008 (endret) GeirGrusom: DU SKRIVER FEIL VB! 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 Endret 28. april 2008 av ze5400 Lenke til kommentar
GeirGrusom Skrevet 28. april 2008 Del Skrevet 28. april 2008 Jeg er en typisk amatør, som tar feil av VB forum og C# forum 'Evig loop i VB.NET While C# > VB.NET Application.DoEvents() End While Lenke til kommentar
Manfred Skrevet 28. april 2008 Del Skrevet 28. april 2008 backup: Snakk om grisete løsning! Å hente bildet innom clipboard :\ Den var litt æsj... Lenke til kommentar
GeirGrusom Skrevet 29. april 2008 Del Skrevet 29. april 2008 Jeg vet ikke om noen annen metode, men jeg er enig i at det er ganske grisete. Lenke til kommentar
backup Skrevet 30. april 2008 Del Skrevet 30. april 2008 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
Manfred Skrevet 30. april 2008 Del Skrevet 30. april 2008 Det kan være at det ligger tekst i clipboarden også. Så uansett hva som ligger der bør dette i så fall lagres unna, og settes tilbake i clipboarden etterpå. Lenke til kommentar
ze5400 Skrevet 30. april 2008 Del Skrevet 30. april 2008 (endret) Like this? Object Clip = Clipboard.GetDataObject(); // Clipboard.SetImage(); // Do stupid stuff Clipboard.SetDataObject(Clip); Endret 30. april 2008 av ze5400 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå