none
Smiley's in RichTextBox einfügen und abspeichern RRS feed

  • Frage

  • Hi, ich habe zurzeit ein riesenProblem bei meinem Chat. Es will die Smiley's nicht stehen lassen, und löscht das alte smiley, wenn ein neues kommt...

    Ich hab es mit einer Funktion probiert, hier ein stück fehlercode...

    Private Sub Listen()
        While client.Connected
          Try
            Me.Invoke(New DAddItem(AddressOf AddItem), streamr.ReadLine)
          Catch
            MsgBox("Verbindung felhgeschlagen! Fehlercode 1")
          End Try
        End While
      End Sub
    
    Private Sub AddItem(ByVal s As String)
        Dim min As String = CStr(My.Computer.Clock.LocalTime.Minute)
        Dim hour As String = CStr(My.Computer.Clock.LocalTime.Hour)
        Dim userlist As String()
        Dim Wort As String = ":)"
        If s.StartsWith("/u ") Then
          userlist = s.Remove(0, 3).Split(CChar(","))
          ListBox1.Items.Clear()
          ListBox1.Items.AddRange(userlist)
        ElseIf s.StartsWith("/kicked") Then
          streamw.Close()
          streamr.Close()
          client.Close()
          stream.Close()
          MsgBox("Sie wurden vom Server gekickt!", MsgBoxStyle.Information)
          Application.Exit()
        Else
          RichTextBox1.Text = RichTextBox1.Text & hour & ":" & min & " " & s & vbCrLf
          RichTextBox1.SelectionStart = RichTextBox1.TextLength
          RichTextBox1.ScrollToCaret()
    
          Call Ersetzten1("ugly", My.Resources.icon_ugly)
    
    Public Sub Ersetzten1(ByVal Wort As String, ByVal Bild As Bitmap)
        Dim Index As Integer = RichTextBox1.Text.IndexOf(Wort)
        Dim bmp As Bitmap = My.Resources.icon_ugly
        Do Until Index = -1
          RichTextBox1.SelectionStart = Index
          RichTextBox1.SelectionLength = Wort.Length
          RichTextBox1.SelectedText = ""
          Clipboard.SetImage(bmp)
          RichTextBox1.SelectionStart = Index
          RichTextBox1.Paste()
          Index = RichTextBox1.Text.IndexOf(Wort, Index + 1)
        Loop
      End Sub
    

     

    wäre toll, wenn ihr mir da weiterhelfen könnt, ist für mein TCP/IP-Chat...

     

    mfg

    gfcwfzkm ;)


    Hoi
    Dienstag, 3. Mai 2011 14:49

Antworten

  • Hallo,

    deinen Code habe ich mir jetzt nicht wirklich angesehen.

    'Imports System.Drawing
    
    Public Class Form1
    
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.Filter = "png |*.png"
        OpenFileDialog1.Title = "Image Wizard"
        OpenFileDialog1.FileName = ""
    
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
          Dim img As Image = Image.FromFile(OpenFileDialog1.FileName)
          Clipboard.SetImage(img)
          Me.RichTextBox1.Paste()
        Else
          Me.RichTextBox1.Text = "No Image selected."
        End If
    
      End Sub
    
      Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        OpenFileDialog1.Filter = "png|*.png"
        OpenFileDialog1.ShowDialog()
    
        Dim strFileName As Image = Image.FromFile("C:\TEST\smile.jpg") 'Image.FromFile(OpenFileDialog1.FileName)
        Clipboard.SetImage(strFileName)
        Me.RichTextBox1.Paste()
    
      End Sub
    End Class
    
    

    So kannst du ein Bild über einen OpenFileDialog einfügen.
    Speichern als rtf-Dokument machst du mit dem SaveFileDialog.
    Solltest du noch Fragen haben, schreib einfach noch mal.


    Liebe Grüße Stefan | Cheers Stefan I'm using VB 2008 Express Be a good forum member - mark posts that contain the answers to your questions or those that are helpful c# in vb Translator: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Freitag, 13. Mai 2011 20:33

Alle Antworten

  • Hallo,

    deinen Code habe ich mir jetzt nicht wirklich angesehen.

    'Imports System.Drawing
    
    Public Class Form1
    
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.Filter = "png |*.png"
        OpenFileDialog1.Title = "Image Wizard"
        OpenFileDialog1.FileName = ""
    
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
          Dim img As Image = Image.FromFile(OpenFileDialog1.FileName)
          Clipboard.SetImage(img)
          Me.RichTextBox1.Paste()
        Else
          Me.RichTextBox1.Text = "No Image selected."
        End If
    
      End Sub
    
      Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        OpenFileDialog1.Filter = "png|*.png"
        OpenFileDialog1.ShowDialog()
    
        Dim strFileName As Image = Image.FromFile("C:\TEST\smile.jpg") 'Image.FromFile(OpenFileDialog1.FileName)
        Clipboard.SetImage(strFileName)
        Me.RichTextBox1.Paste()
    
      End Sub
    End Class
    
    

    So kannst du ein Bild über einen OpenFileDialog einfügen.
    Speichern als rtf-Dokument machst du mit dem SaveFileDialog.
    Solltest du noch Fragen haben, schreib einfach noch mal.


    Liebe Grüße Stefan | Cheers Stefan I'm using VB 2008 Express Be a good forum member - mark posts that contain the answers to your questions or those that are helpful c# in vb Translator: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Freitag, 13. Mai 2011 20:33
  • Eine noch,

    Ich möchte diesen code für ein chatprogramm verwenden.
    Wenn nun eine neue nachricht kommt, soll es das ":)" mit dem Bild ersetzten.
    wie kann ich dies machen? Und auch so, das bei jeder neuen zeile das smiley nicht gelöscht wird...

     

    mfg


    Hoi
    Dienstag, 21. Juni 2011 20:49