الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أول مشاركة ، أرجو المساعدة: سؤال في الtextbox

مغلق
بدأه moqawema في 2 أكتوبر 2004 · 10 رد · 837 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

تحية طيبة للجميع

سؤالي هو: كيف أستطيع تغيير لون كلمة أو أكثر في الtextbox بدون تغيير لون النص كاملا

يعني:

لنفترض أن النص الموجود في الtextbox كالتالي:

السلام عليكم ورحمة الله وبركاته

منتديات الفريق العربي للبرمجة

منتديات لغات البرمجة العام

منتدى مبرمجي لغة Microsoft visual basic

كيف أستطيع تغيير لون كلمة (البرمجة) مثلا أو أن أضع تحتها خط دون تغيير النص كاملا؟

طبعا بالvisual Basic 6

ولكم جزيل الشكر

#2

لايمكن عمل ذلك في textbox العادي وعليك استخدام ritch text box

محمد حمود

ماجستير تقنية المعلومات

بكالوريوس هندسة مدنية

محترف إدارة مشاريع (PMP)

مهندس جودة البرمجيات (CSQE)

مبرمج معتمد من مايكروسوفت (MCP)

متخصص في نظم المعلومات الجغرافية GIS

mohamed.hammod(at)gmail.com

www.ShapeViewer.com

#3

كما قال الاخ محمد حمود بارك الله فيه ، يجب ان تستخدم أداة الـRich Text Box فهي غنية بالخصائص والتحكمات .

Project>Components

ثم اختر من القائمة

Microsoft Rich TextBox Control 6

تحياتي لك

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#4

السلام عيكم

شكرا جزيلا لكم على الرد

في الحقيقة ليست لدي أي فكرة عن أداة الrich textbox ولكني ساجرب ، وقد أعود قريبا إذا واجهتني أي صعوبات..

شكرا مرة أخرى

#5

السلام عليكم

أثناء بحثي في المواقع عن أداة الrichtextbox حصلت على الكود الخاص بتغيير أي كلمة دون تغيير النص كاملا ، وسأضع الكود للفائدة

Private Function ColorWords(ByRef rtb As RichTextBox, _
                            ByRef FindString As String, _
                            ByVal Color As Long) As Integer
On Error GoTo ErrHandler
    Dim FindLength         As Long
    Dim FoundPos           As Long
    Dim TempPos            As Long
    Dim Options            As Integer
    Dim MatchCount         As Integer
    
    ' Set search options
    Options = rtfNoHighlight 'used by default here
    If Check1(0).Value = 1 Then Options = Options + rtfWholeWord
    If Check1(1).Value = 1 Then Options = Options + rtfMatchCase
    
    ' Save the string-length
    FindLength = Len(FindString)
    
    ' Search for a single match. Find method returns
    ' the position of the first character of the item,
    ' or -1 if no matches are found.
    FoundPos = rtb.Find(FindString, 0, , Options)
    
    ' Loop until all occurences are found
    Do Until FoundPos < 0
        MatchCount = MatchCount + 1
        rtb.SelStart = FoundPos
        rtb.SelLength = FindLength
        rtb.SelColor = Color
        TempPos = FoundPos + FindLength
        FoundPos = rtb.Find(FindString, TempPos, , Options)
    Loop
        
    ' Return the number of matches
    ColorWords = MatchCount
    Exit Function
    
ErrHandler:
    MsgBox "Unexpected error number-" & _
        CStr(Err.Number) & _
        " occurred in " & Err.Source & _
        ":" & vbCrLf & vbCrLf & Err.Description
End Function

Private Sub Command1_Click()
   ColorWords RichTextBox1, txtSearch.Text, vbRed
End Sub

الكود والملف المرفق منقوليين من موقع www.vbcity.com

لكني إلى الآن أواجه مشكلة وهي: كيفية تغيير الrtb من اليسار إلى اليمين (أي خاصية righttoleft) بالإضافة إلى تغيير محاذاة الكلمات من اليسار إلى اليمين

أرجو المساعدة ولكم جزيل الشكر

تم تعديل هذه المشاركة بواسطة مجدي محمود في 5 أكتوبر 2004 في 06:03

#6

أين المرفق

حفظك الله

#7

السلام عليكم

في الحقيقة أنا جديدة على الكتابة في المنتديات ، لا أعرف كيفية وضع الملف ، ضغطت على browse واخترت الملف الموجود في جهازي ولكن عند إضافة المشاركة لم يضهر شيء

في كل الأحوال إليكم الرابط الذي يحتوي على الكود والملف

http://www.devcity.net/forums/faq.asp?fid=...xtBoxTID51984

أكرر سؤالي: كيف أستطيع تغيير الrichtextbox من اليسار إلى اليمين (لم أجد خاصية righttoleft الموجودة في الtextbox العادي) . هل من كود يقوم بنفس المهمة؟ بالإضافة إلى تغيير محاذاة النص من اليسار إلى اليمين؟

ولكم جزيل الشكر

#8

في إنتظار الجواب

#9

السلام عليكم

يبدو أن لا جواب لسؤالي (منذ 5 أيام وأنا أنتظر)

على كل حال: لكم جزيل الشكر

#10

السلام عليكم و رحمة الله و بركاته

في الملف المرفق برنامج فيه شرح لامر ال RightToLeft و .....

اتمنى ان يعجبكم

و لاي سوال جاهز فقط ممكن اتاخر بالرد لاني مشغول جدا

------------------------------

لا تنسونا من صالح دعائكم

-----------------------------

RichEdit.zip

تم تعديل هذه المشاركة بواسطة محمد صادق في 11 أكتوبر 2004 في 03:25

#11

السلام عليكم ورحمة الله وبركاته

أولا: أشكركم جزيل الشكر على المساعدة

ثانيا: أعتقد أني لم أوضح مطلبي جيدا

ما أبحث عنه هو خاصية الrighttoleft وليس خاصية الalignment

يعني: فلنفترض أن لدي richtextbox وكانت إعداداته كالتالي:

multiline=true

scrollbar=vscrollbar (vertical scroll bar

في هذه الحالة سيكون الscrollbar على جهة اليمين لأن خاصية الrighttoleft الإفتراضية تساوي left وهذا الشكل طبيعي عند الكتابة باللغة الإنجليزية

ولكني أريد الكتابة باللغة العربية لذلك أريد أن يظهر الscrollbar إلى جهة اليسار (وهذا لن يحدث إلا بتغيير خاصية الrighttoleft إلى right ) وعندها أستخدم الselalignment لتغيير محاذاة النص إلى اليمين (كما ورد في المثال المرفق)

يعني أريد بالضبط مثل الtextbox الذي أكتب فيه الآن

في الtextbox العادي توجد خاصية الrighttoleft لكن في الrichtextbox لم أجدها. فهل هناك كود معين يقوم بهذه المهمة؟

أتمنى أن أكون قد وضحت سؤالي

وشكرا مرة أخرى

هذا الموضوع مغلق.

مواضيع مشابهة