منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف نضيف صورة الى اداة richtextbox
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5 6 7
شيء رائع ان يكون برنامج المحادثة فيه هذه الامكانية لكن كيف نضيف امكانية اضافة ابتسامة الى اداة Richtextbox
اقصد بطريقة الاستبدال مثلا الرمز التالي:
'Sad' يتم استبداله بصورة مخصصة له
ليه ما تستخدم اداة webbrower بدل هذه الاداة ،، أفضل لاها مستخدمه في اغلب تطبيقات الدردشة
ما معقدني غير سي شارب وياليت كل اللي القى مكتوب بشكل صحيح حتى تقدر تحوله باي موقع لكن كلها اخطاء
السكر المغرور كتب :ليه ما تستخدم اداة webbrower بدل هذه الاداة ،، أفضل لاها مستخدمه في اغلب تطبيقات الدردشة
اهلا وسهلا بك اخوي ..فعلا انا فكرت بيها وهي سهلة جدا والاستبدال فيها يتحتاج اكواد بسيطة لكن ماادري هل استخدامها يكون سريع .
طيب اخواني لقيت كود
emotions.Add("Smile", SmileyDemo.Properties.Resources.regular_smile)
emotions.Add(":-(", SmileyDemo.Properties.Resources.sad_smile)

كتبت بدل SmileyDemo اسم مشروعي لكن فيه خطا
السلام عليكم

كانت لي محاولة جيدة في برنامج دردشة على شبكة محلية(مع تواجد shared folder) حيث كنت أدرس والحمد لله لم تكتشفني إدارة ذلك المعهد Smile

كنت أعتمد على ملفات نصية واجهتني مشكلة بسبب الصلاحيات على المجلد المشترك(اشكرهم على تلك الهدية) وكنت راح ازودها أكثر واعمل برامج تحكم هه ولكن انتهى الكورس وانتهت الفكرة(طبقتها في البيت على إخواني)


بخصوص الابتسامات كنت قد طورت ritch text box ليقبل ابتسامات ونجحت ولكني لم أفعله ولم أختبره اختباراً حقيقياً

الفكرة تعتمد على Copy Paste في الحدث المناسب(لا اتذكر إن كانت الأداة تتضمن حدث تغير النص أو لا) اقوم بتحديد كل نص يرمز إلى ابتسامة وأعمل Paste قبل عمل اللصق أقوم بحفظ الموجود في الحافظة في متغير ثم أخزن الصورة في الحافظة وبعد اللصق أعيد ما كان موجودا إلى الحافظة

هذه هي الفكرة


WebBrowser أداة لعرض المحادثة فقط جيدة(لم أجرب) ولكن للكتابة استخدم أداة أخرى اما TextBox أو RicthcTextBox
لم أتطرق قط في التعامل مع هذي الأداة ولاكن من خلال بحثي وجت طريقه إضافة صوره داخل الأداة

لا أدري هي ستفيد بالغرض ام لا

هذا الكود


PHP كود :
Dim OpenFileDialog1 As New OpenFileDialog
OpenFileDialog1
.Title "إدراج صورة"
OpenFileDialog1.DefaultExt "rtf"
OpenFileDialog1.Filter "Bitmap Files|*.bmp|JPEG Files|*.jpg|GIF Files|*.gif"
OpenFileDialog1.FilterIndex 1
OpenFileDialog1
.ShowDialog()
If 
OpenFileDialog1.FileName "" Then Exit Sub
Try
Dim strImagePath As String OpenFileDialog1.FileName
Dim img 
As Image
img 
Image.FromFile(strImagePath)
Clipboard.SetDataObject(img)
Dim df As DataFormats.Format
df 
DataFormats.GetFormat(DataFormats.Bitmap)
If 
Me.RichTextBox1.CanPaste(dfThen
Me
.RichTextBox1.Paste(df)
End If
Catch 
ex As Exception
MessageBox
.Show("امتداد الصورة غير معروف""خطأ"MessageBoxButtons.OKMessageBoxIcon.Error)
End Try 
لا ما يتفع كذاSmile ابغى زي طريقتي هذي كتبت الرمز من غير مربع حوار
على كل حال راح اجرب webbrowser
تفضل حب لكن الكود فيه مشكلة واحدة اذا كنت انت ناسخ ملف الملف بيطير لو حد بعت رمز الاموشن

كود :
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
        On Error Resume Next
        If RichTextBox1.Find(":)") > -1 Then
            Dim t() As String
            t = RichTextBox1.Text.Split(":)")
            Dim i As Integer
            For i = 1 To t.Length - 1
                Dim ffo As String = ":)"
                If RichTextBox1.Find(":)") > -1 Then
                    Dim ClipboardContents As String = Clipboard.GetText
                    RichTextBox1.SelectionStart = ":)"
                    RichTextBox1.SelectedText = ""
                    Clipboard.SetImage(ImageList1.Images.Item(21))
                    RichTextBox1.Paste()
                    Clipboard.SetText(ClipboardContents)
                End If
            Next
        End If
    End Sub
الصفحات : 1 2 3 4 5 6 7