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

كيف يمكن تلوين خلفية سطر معين داخل Richtextbox

بدأه C++er في 15 سبتمبر 2009 · 11 رد · 913 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كما هو واضح من العنوان اريد ان اقوم بتغيير لون السطر الموجود به مؤشر الكتابه.

و حتى اكون اوضح اكثر انا اعرف كيفية تغييير لون الكلام الموجود بالسطر و لكن ليس هذا ما اريده، انا اريد تغيير لون السطر الحالى بأكمله كما يحدث داخل برنامج Notepad++ او برنامج CodeGear الخاص بـ Delphi.

بالنسبه للكود فأى لغة برمجه ستفى بالغرض المهم ان تكون الفكره مطبقه بداخله.

ملحوظه انا لدى الكود الخاص ببرنامج Notepad++ و بحثت كثيرا داخله عن الكيفيه التى تتم بها هذه العلمليه و لكنى لم اجدها فإن تعرف انت كيف فأرجو منك التنويه

و شكرا لكم

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#2

مرحباً أخي الكريم محمد :)،

أتيت لك بحل ولكنه ( ليس متقن كالعادة ) وكأنكم تفتحون أبواب جديدة لكنها جميلة ;)، جرب الـ( Code ) التالي وإذا أعجبتك الفكرة سأقوم بشرحها وإذا كان العكس سأقوم بعمل شيء أخر :) .

 

[color= #000000; font-weight: bold;]Public [color= #000000; font-weight: bold;]Class Form1

 

    [color= #000000; font-weight: bold;]Private Structure Line

        [color= #000000; font-weight: bold;]Public StartIndex [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public Length [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public EndIndex [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public Contents [color= #b1b100;]As String

        [color= #000000; font-weight: bold;]Public FullLineBounds [color= #b1b100;]As RectangleF

        [color= #000000; font-weight: bold;]Public ValidMark [color= #b1b100;]As Boolean

    [color= #990000;]End Structure

 

    [color= #000000; font-weight: bold;]Private [color= #000000; font-weight: bold;]Function GetLimeProperties[color= #009900;](ByVal Sender [color= #b1b100;]As RichTextBox[color= #009900;]) [color= #b1b100;]As Line

        Dim StartIndex[color= #339933;], EndIndex [color= #b1b100;]As Int32

        Dim CurrentIndex [color= #b1b100;]As Int32 [color= #339933;]= Sender[color= #339933;].SelectionStart

        Dim CIndex [color= #b1b100;]As Int32 [color= #339933;]= CurrentIndex

        [color= #b1b100;]If Sender[color= #339933;].TextLength [color= #339933;]= [color= #cc66cc;]0 Or CurrentIndex [color= #339933;]>= Sender[color= #339933;].TextLength Then

            Dim ELine [color= #b1b100;]As [color= #000000; font-weight: bold;]New Line

            With ELine

                [color= #339933;].ValidMark [color= #339933;]= [color= #000000; font-weight: bold;]False

                [color= #339933;].StartIndex [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].EndIndex [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].Length [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].Contents [color= #339933;]= [color= #0000ff;]""

                [color= #339933;].FullLineBounds [color= #339933;]= [color= #000000; font-weight: bold;]New RectangleF[color= #009900;]([color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], Sender[color= #339933;].Width[color= #339933;], [color= #990000;]_

                Sender[color= #339933;].DefaultFont[color= #339933;].Size[color= #009900;])

            [color= #990000;]End With

            [color= #b1b100;]Return ELine

        [color= #990000;]End [color= #b1b100;]If

        [color= #b1b100;]Do [color= #b1b100;]While [color= #000000; font-weight: bold;]True

            [color= #b1b100;]If AscW[color= #009900;](Sender[color= #339933;].Text[color= #009900;](CIndex[color= #009900;])[color= #009900;]) [color= #339933;]= [color= #cc66cc;]10 Then

                EndIndex [color= #339933;]= CIndex

                [color= #990000;]Exit [color= #b1b100;]Do

            [color= #990000;]End [color= #b1b100;]If

            CIndex [color= #339933;]+= [color= #cc66cc;]1

            [color= #b1b100;]If CIndex [color= #339933;]>= Sender[color= #339933;].TextLength Then

                [color= #990000;]Exit [color= #b1b100;]Do

            [color= #990000;]End [color= #b1b100;]If

        Loop

        [color= #b1b100;]If CurrentIndex [color= #339933;]= [color= #cc66cc;]0 Then

            StartIndex [color= #339933;]= CurrentIndex

        [color= #b1b100;]Else

            CIndex [color= #339933;]= [color= #009900;](CurrentIndex [color= #339933;]- [color= #cc66cc;]1[color= #009900;])

            [color= #b1b100;]Do [color= #b1b100;]While [color= #000000; font-weight: bold;]True

                [color= #b1b100;]If AscW[color= #009900;](Sender[color= #339933;].Text[color= #009900;](CIndex[color= #009900;])[color= #009900;]) [color= #339933;]= [color= #cc66cc;]10 Then

                    StartIndex [color= #339933;]= CIndex [color= #339933;]+ [color= #cc66cc;]1

                    [color= #990000;]Exit [color= #b1b100;]Do

                [color= #990000;]End [color= #b1b100;]If

                CIndex [color= #339933;]-= [color= #cc66cc;]1

                [color= #b1b100;]If CIndex [color= #339933;]< [color= #cc66cc;]0 Then

                    [color= #990000;]Exit [color= #b1b100;]Do

                [color= #990000;]End [color= #b1b100;]If

            Loop

        [color= #990000;]End [color= #b1b100;]If

        Dim NLine [color= #b1b100;]As [color= #000000; font-weight: bold;]New Line

        With NLine

            [color= #339933;].StartIndex [color= #339933;]= StartIndex

            [color= #339933;].EndIndex [color= #339933;]= EndIndex

            [color= #339933;].Length [color= #339933;]= [color= #009900;](EndIndex [color= #339933;]- StartIndex[color= #009900;])

            [color= #339933;].Contents [color= #339933;]= Sender[color= #339933;].Text[color= #339933;].Substring[color= #009900;](StartIndex[color= #339933;], [color= #339933;].Length[color= #009900;])

            [color= #b1b100;]If [color= #339933;].Contents [color= #339933;]<> [color= #0000ff;]"" Then

                [color= #339933;].ValidMark [color= #339933;]= [color= #000000; font-weight: bold;]True

            [color= #990000;]End [color= #b1b100;]If

            [color= #b1b100;]If Sender[color= #339933;].[color= #990000;]WordWrap Then

                Dim STFormat [color= #b1b100;]As [color= #000000; font-weight: bold;]New StringFormat

                STFormat[color= #339933;].FormatFlags [color= #339933;]= StringFormatFlags[color= #339933;].LineLimit

                Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Sender[color= #339933;].Handle[color= #009900;])

                    Dim FLS [color= #b1b100;]As SizeF [color= #339933;]= G[color= #339933;].MeasureString[color= #009900;]([color= #339933;].Contents[color= #339933;], Sender[color= #339933;].SelectionFont[color= #339933;], [color= #990000;]_

                    Sender[color= #339933;].Size[color= #339933;], STFormat[color= #009900;])

                    Sender[color= #339933;].GetPositionFromCharIndex[color= #009900;](StartIndex[color= #009900;])

                    [color= #339933;].FullLineBounds [color= #339933;]= [color= #000000; font-weight: bold;]New RectangleF[color= #009900;]([color= #cc66cc;]0[color= #339933;], Sender[color= #339933;].GetPositionFromCharIndex[color= #009900;](StartIn
dex[color= #009900;])[color= #339933;].Y[color= #339933;], [color= #990000;]_

                    Sender[color= #339933;].ClientSize[color= #339933;].Width [color= #339933;]- [color= #cc66cc;]2[color= #339933;], FLS[color= #339933;].Height[color= #009900;])

                [color= #990000;]End Using

            [color= #990000;]End [color= #b1b100;]If

        [color= #990000;]End With

        [color= #b1b100;]Return NLine

    [color= #990000;]End [color= #000000; font-weight: bold;]Function

 

    [color= #000000; font-weight: bold;]Private Sub RichTextBox1_SelectionChanged[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

    ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;]) Handles RichTextBox1[color= #339933;].SelectionChanged

        RichTextBox1[color= #339933;].Refresh[color= #009900;]([color= #009900;])

        Dim LineProp [color= #b1b100;]As Line [color= #339933;]= GetLimeProperties[color= #009900;](RichTextBox1[color= #009900;])

        [color= #b1b100;]If LineProp[color= #339933;].ValidMark Then

            Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](RichTextBox1[color= #339933;].Handle[color= #009900;])

                With LineProp[color= #339933;].FullLineBounds

                    G[color= #339933;].DrawRectangle[color= #009900;](Pens[color= #339933;].Red[color= #339933;], [color= #339933;].X[color= #339933;], [color= #339933;].Y[color= #339933;], [color= #339933;].Width[color= #339933;], [color= #339933;].Height[color= #009900;])

                [color= #990000;]End With

            [color= #990000;]End Using

        [color= #990000;]End [color= #b1b100;]If

        RichTextBox1[color= #339933;].SelectionStart [color= #339933;]= LineProp[color= #339933;].EndIndex

    [color= #990000;]End Sub

 

[color= #990000;]End [color= #000000; font-weight: bold;]Class

بالتوفيق .

___________________________________________________________

سبب التعديل ( تنسيق الـ( Code ) )

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 15 سبتمبر 2009 في 15:26

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#3

اوعى تسمع كلام بشار هيوديك فى داهية :D

خد يابنى الكام سطر دول وادعيلى :P

  1.  
  2. Private Sub ColorCurrentLine()
  3. Me.RichTextBox1.Refresh()
  4.  
  5. )
  6. Dim position As Point = Me.RichTextBox1.GetPositionFromCharIndex(Me.RichTextBox1.Select
    ionStart)
  7. Dim gr As Graphics = Graphics.FromHwnd(Me.RichTextBox1.Handle)
  8. Using br As New SolidBrush(Color.FromArgb(100, 100, 100, 100))
  9. gr.FillRectangle(br, 0, position.Y, Me.RichTextBox1.Width, Me.RichTextBox1.Font.Hei
    ght)
  10. End Using
  11. End Sub
  12.  
  13.  

تم تعديل هذه المشاركة بواسطة GHOST2010 في 15 سبتمبر 2009 في 16:51

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#4
GHOST2010 كتب:
اوعى تسمع كلام بشار هيوديك فى داهية :D

خد يابنى الكام سطر دول وادعيلى :P

 

    [color= #800000;]Private [color= #800000;]Sub ColorCurrentLine[color= #66cc66;]([color= #66cc66;])

        [color= #800000;]Me.[color= #66cc66;]RichTextBox1.[color= #66cc66;]Refresh[color= #66cc66;]([color= #66cc66;])

 

[color= #66cc66;])

        [color= #800000;]Dim position [color= #800000;]As Point = [color= #800000;]Me.[color= #66cc66;]RichTextBox1.[color= #66cc66;]GetPositionFromCharIndex[color= #66cc66;]([color= #800000;]Me.[color= #66cc66;]RichTextBox1.[color= #66cc66;]Select
ionStart[color= #66cc66;])

        [color= #800000;]Dim gr [color= #800000;]As Graphics = Graphics.[color= #66cc66;]FromHwnd[color= #66cc66;]([color= #800000;]Me.[color= #66cc66;]RichTextBox1.[color= #66cc66;]Handle[color= #66cc66;])

        Using br [color= #800000;]As [color= #800000;]New SolidBrush[color= #66cc66;](Color.[color= #66cc66;]FromArgb[color= #66cc66;]([color= #cc66cc;]100, [color= #cc66cc;]100, [color= #cc66cc;]100, [color= #cc66cc;]100[color= #66cc66;])[color= #66cc66;])

            gr.[color= #66cc66;]FillRectangle[color= #66cc66;](br, [color= #cc66cc;]0, position.[color= #66cc66;]Y, [color= #800000;]Me.[color= #66cc66;]RichTextBox1.[color= #800000;]Width, [color= #800000;]Me.[color= #66cc66;]RichTextBox1.[color= #66cc66;]Font.[color= #66cc66;]Hei
ght[color= #66cc66;])

        [color= #800000;]End Using

    [color= #800000;]End [color= #800000;]Sub

هههههههه :lol: ( في داهية على طول !! ) هو يمكن معك حق أصلي أنا مانتمش من 21 ساعة !!

على كل حال ( ماقدرش أستمر أكتر من كده ) :P, ودي النتيجة الى وصلت لها :), يحتاج للكثير من التعديل لكن تفي بالغرض مبدئياً أي ( تمثل الفكرة بشكل عام ) :

 

[color= #339933;]<System[color= #339933;].ComponentModel[color= #339933;].DefaultEvent[color= #009900;]([color= #0000ff;]"LineIndexChanged"[color= #009900;])[color= #339933;]> [color= #000000; font-weight: bold;]Public [color= #000000; font-weight: bold;]Class AdvancedRichTextBox

    Inherits RichTextBox

    [color= #000000; font-weight: bold;]Private _CurrentLine [color= #b1b100;]As Line

    [color= #000000; font-weight: bold;]Private _Typing [color= #b1b100;]As Boolean [color= #339933;]= [color= #000000; font-weight: bold;]False

    [color= #000000; font-weight: bold;]Private _HighlightBackColor [color= #b1b100;]As Color [color= #339933;]= Color[color= #339933;].Red

    [color= #000000; font-weight: bold;]Private _HighlightForeColor [color= #b1b100;]As Color [color= #339933;]= Color[color= #339933;].White

    [color= #000000; font-weight: bold;]Public Delegate Sub LineIndexChangedDG[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], ByVal E [color= #b1b100;]As Line[color= #009900;])

    [color= #000000; font-weight: bold;]Public Event LineIndexChanged [color= #b1b100;]As LineIndexChangedDG

 

    [color= #000000; font-weight: bold;]Public Property HighlightBackColor[color= #009900;]([color= #009900;]) [color= #b1b100;]As Color

        Get

            [color= #b1b100;]Return _HighlightBackColor

        [color= #990000;]End Get

        Set[color= #009900;](ByVal value [color= #b1b100;]As Color[color= #009900;])

            _HighlightBackColor [color= #339933;]= value

        [color= #990000;]End Set

    [color= #990000;]End Property

 

    [color= #000000; font-weight: bold;]Public Property HighlightForeColor[color= #009900;]([color= #009900;]) [color= #b1b100;]As Color

        Get

            [color= #b1b100;]Return _HighlightForeColor

        [color= #990000;]End Get

        Set[color= #009900;](ByVal value [color= #b1b100;]As Color[color= #009900;])

            _HighlightForeColor [color= #339933;]= value

        [color= #990000;]End Set

    [color= #990000;]End Property

 

    [color= #000000; font-weight: bold;]Public Structure Line

        [color= #000000; font-weight: bold;]Public StartIndex [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public Length [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public EndIndex [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public Contents [color= #b1b100;]As String

        [color= #000000; font-weight: bold;]Public LineIndex [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public FullLineBounds [color= #b1b100;]As RectangleF

        [color= #000000; font-weight: bold;]Public ValidMark [color= #b1b100;]As Boolean

    [color= #990000;]End Structure

 

    [color= #000000; font-weight: bold;]Private [color= #000000; font-weight: bold;]Function GetLimeProperties[color= #009900;](ByVal Sender [color= #b1b100;]As RichTextBox[color= #009900;]) [color= #b1b100;]As Line

        Dim StartIndex[color= #339933;], EndIndex [color= #b1b100;]As Int32

        Dim CurrentIndex [color= #b1b100;]As Int32 [color= #339933;]= Sender[color= #339933;].SelectionStart

        Dim CIndex [color= #b1b100;]As Int32 [color= #339933;]= CurrentIndex

        [color= #b1b100;]If Sender[color= #339933;].TextLength [color= #339933;]= [color= #cc66cc;]0 Or CurrentIndex [color= #339933;]>= Sender[color= #339933;].TextLength Then

            Dim ELine [color= #b1b100;]As [color= #000000; font-weight: bold;]New Line

            With ELine

                [color= #339933;].ValidMark [color= #339933;]= [color= #000000; font-weight: bold;]False

                [color= #339933;].StartIndex [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].EndIndex [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].Length [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].Contents [color= #339933;]= [color= #0000ff;]""

                [color= #339933;].LineIndex [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].FullLineBounds [color= #339933;]= [color= #000000; font-weight: bold;]New RectangleF[color= #009900;]([color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], Sender[color= #339933;].Width[color= #339933;], [color= #990000;]_

                Sender[color= #339933;].Font[color= #339933;].Size[color= #009900;])

            [color= #990000;]End With

            [color= #b1b100;]Return ELine

        [color= #990000;]End [color= #b1b100;]If

        [color= #b1b100;]Do [color= #b1b100;]While [color= #000000; font-weight: bold;]True

            [color= #b1b100;]If AscW[color= #009900;](Sender[color= #339933;].Text[color= #009900;](CIndex[color= #009900;])[color= #009900;]) [color= #339933;]= [color= #cc66cc;]10 Then

                EndIndex [color= #339933;]= CIndex

                [color= #990000;]Exit [color= #b1b100;]Do

            [color= #990000;]End [color= #b1b100;]If

            CIndex [color= #339933;]+= [color= #cc66cc;]1

            [color= #b1b100;]If CIndex [color= #339933;]>= Sender[color= #339933;].TextLength [color= #339933;]- [color= #cc66cc;]1 Then

                EndIndex [color= #339933;]= Sender[color= #339933;].TextLength [color= #339933;]- [color= #cc66cc;]1

                [color= #990000;]Exit [color= #b1b100;]Do

            [color= #990000;]End [color= #b1b100;]If

        Loop

        [color= #b1b100;]If CurrentIndex [color= #339933;]= [color= #cc66cc;]0 Then

            StartIndex [color= #339933;]= CurrentIndex

        [color= #b1b100;]Else

            CIndex [color= #339933;]= [color= #009900;](CurrentIndex [color= #339933;]- [color= #cc66cc;]1[color= #009900;])

            [color= #b1b100;]Do [color= #b1b100;]While [color= #000000; font-weight: bold;]True

                [color= #b1b100;]If AscW[color= #009900;](Sender[color= #339933;].Text[color= #009900;](CIndex[color= #009900;])[color= #009900;]) [color= #339933;]= [color= #cc66cc;]10 Then

                    StartIndex [color= #339933;]= Math[color= #339933;].[color= #990000;]Min[color= #009900;](CIndex [color= #339933;]+ [color= #cc66cc;]1[color= #339933;], Sender[color= #339933;].TextLength [color= #339933;]- [color= #cc66cc;]1[color= #009900;])

                    [color= #990000;]Exit [color= #b1b100;]Do

                [color= #990000;]End [color= #b1b100;]If

                CIndex [color= #339933;]-= [color= #cc66cc;]1

                [color= #b1b100;]If CIndex [color= #339933;]< [color= #cc66cc;]0 Then

                    [color= #990000;]Exit [color= #b1b100;]Do

                [color= #990000;]End [color= #b1b100;]If

            Loop

        [color= #990000;]End [color= #b1b100;]If

        Dim NLine [color= #b1b100;]As [color= #000000; font-weight: bold;]New Line

        With NLine

            [color= #339933;].StartIndex [color= #339933;]= StartIndex

            [color= #339933;].EndIndex [color= #339933;]= EndIndex

            [color= #339933;].Length [color= #339933;]= [color= #009900;](EndIndex [color= #339933;]- StartIndex[color= #009900;])

            [color= #339933;].Contents [color= #339933;]= Sender[color= #339933;].Text[color= #339933;].Substring[color= #009900;](StartIndex[color= #339933;], [color= #339933;].Length[color= #009900;])

            [color= #339933;].LineIndex [color= #339933;]= GetLineIndex[color= #009900;](Sender[color= #339933;], [color= #339933;].StartIndex[color= #009900;])

            [color= #b1b100;]If [color= #339933;].Contents [color= #339933;]<> [color= #0000ff;]"" Then

                [color= #339933;].ValidMark [color= #339933;]= [color= #000000; font-weight: bold;]True

            [color= #b1b100;]Else

                [color= #339933;].Contents [color= #339933;]= [color= #0000ff;]" "

            [color= #990000;]End [color= #b1b100;]If

            [color= #b1b100;]If Sender[color= #339933;].[color= #990000;]WordWrap Then

                Dim STFormat [color= #b1b100;]As [color= #000000; font-weight: bold;]New StringFormat

                STFormat[color= #339933;].FormatFlags [color= #339933;]= StringFormatFlags[color= #339933;].LineLimit

                Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Sender[color= #339933;].Handle[color= #009900;])

                    Dim FLS [color= #b1b100;]As SizeF [color= #339933;]= G[color= #339933;].MeasureString[color= #009900;]([color= #339933;].Contents[color= #339933;], Sender[color= #339933;].SelectionFont[color= #339933;], [color= #990000;]_

                    Sender[color= #339933;].Size[color= #339933;], STFormat[color= #009900;])

                    Sender[color= #339933;].GetPositionFromCharIndex[color= #009900;](StartIndex[color= #009900;])

                    [color= #339933;].FullLineBounds [color= #339933;]= [color= #000000; font-weight: bold;]New RectangleF[color= #009900;]([color= #cc66cc;]0[color= #339933;], Sender[color= #339933;].GetPositionFromCharIndex[color= #009900;](StartIn
dex[color= #009900;])[color= #339933;].Y [color= #339933;]+ [color= #cc66cc;]1[color= #339933;], [color= #990000;]_

                    Sender[color= #339933;].ClientSize[color= #339933;].Width [color= #339933;]- [color= #cc66cc;]2[color= #339933;], FLS[color= #339933;].Height[color= #009900;])

                [color= #990000;]End Using

            [color= #990000;]End [color= #b1b100;]If

            [color= #b1b100;]If Not [color= #339933;].ValidMark Then

                [color= #339933;].Contents [color= #339933;]= [color= #0000ff;]""

            [color= #990000;]End [color= #b1b100;]If

        [color= #990000;]End With

        [color= #b1b100;]Return NLine

    [color= #990000;]End [color= #000000; font-weight: bold;]Function

 

    [color= #000000; font-weight: bold;]Private [color= #000000; font-weight: bold;]Function GetLineIndex[color= #009900;](ByVal Sender [color= #b1b100;]As RichTextBox[color= #339933;], ByVal StartIndex [color= #b1b100;]As Int32[color= #009900;]) [color= #b1b100;]As In
t32

        Dim LIndex [color= #b1b100;]As Int32 [color= #339933;]= [color= #cc66cc;]0

        [color= #b1b100;]For I [color= #b1b100;]As Int32 [color= #339933;]= [color= #cc66cc;]0 To StartIndex [color= #339933;]- [color= #cc66cc;]1

            [color= #b1b100;]If AscW[color= #009900;](Sender[color= #339933;].Text[color= #009900;](I[color= #009900;])[color= #009900;]) [color= #339933;]= [color= #cc66cc;]10 Then

                LIndex [color= #339933;]+= [color= #cc66cc;]1

            [color= #990000;]End [color= #b1b100;]If

        [color= #990000;]Next

        [color= #b1b100;]Return LIndex

    [color= #990000;]End [color= #000000; font-weight: bold;]Function

 

    Protected Overrides Sub OnSelectionChanged[color= #009900;](ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;])

        MyBase[color= #339933;].OnSelectionChanged[color= #009900;](e[color= #009900;])

        Dim NCLine [color= #b1b100;]As Line [color= #339933;]= GetLimeProperties[color= #009900;](Me[color= #009900;])

        [color= #b1b100;]If _CurrentLine[color= #339933;].LineIndex [color= #339933;]<> NCLine[color= #339933;].LineIndex Then

            _CurrentLine [color= #339933;]= NCLine

            MyBase[color= #339933;].Refresh[color= #009900;]([color= #009900;])

            Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Handle[color= #009900;])

                With _CurrentLine[color= #339933;].FullLineBounds

                    Using SBrush [color= #b1b100;]As [color= #000000; font-weight: bold;]New SolidBrush[color= #009900;](HighlightBackColor[color= #009900;])

                        G[color= #339933;].FillRectangle[color= #009900;](SBrush[color= #339933;], [color= #339933;].X[color= #339933;], [color= #339933;].Y[color= #339933;], [color= #339933;].Width[color= #339933;], [color= #339933;].Height[color= #009900;])

                        [color= #b1b100;]If _CurrentLine[color= #339933;].ValidMark Then

                            Dim STFormat [color= #b1b100;]As [color= #000000; font-weight: bold;]New StringFormat

                            STFormat[color= #339933;].FormatFlags [color= #339933;]= StringFormatFlags[color= #339933;].LineLimit

                            SBrush[color= #339933;].Color [color= #339933;]= HighlightForeColor

                            G[color= #339933;].DrawString[color= #009900;](_CurrentLine[color= #339933;].Contents[color= #339933;], Font[color= #339933;], SBrush[color= #339933;], _CurrentLine[color= #339933;].Full
LineBounds[color= #339933;], STFormat[color= #009900;])

                        [color= #990000;]End [color= #b1b100;]If

                    [color= #990000;]End Using

                [color= #990000;]End With

            [color= #990000;]End Using

            [color= #b1b100;]If Not _Typing Then

                SelectionStart [color= #339933;]= _CurrentLine[color= #339933;].EndIndex

            [color= #990000;]End [color= #b1b100;]If

            RaiseEvent LineIndexChanged[color= #009900;](Me[color= #339933;], NCLine[color= #009900;])

        [color= #990000;]End [color= #b1b100;]If

        _Typing [color= #339933;]= [color= #000000; font-weight: bold;]False

    [color= #990000;]End Sub

 

    [color= #000000; font-weight: bold;]Private Sub AdvancedRichTextBox_KeyPress[color= #009900;](ByVal sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

    ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].KeyPressEventArgs[color= #009900;]) Handles Me[color= #339933;].KeyPress

        _Typing [color= #339933;]= [color= #000000; font-weight: bold;]True

    [color= #990000;]End Sub

 

[color= #990000;]End [color= #000000; font-weight: bold;]Class

تصبحوا على خير :)

بالتوفيق :) 

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#5

مرحباً مرة أخرى :)،

لن أقوم بتعديل أخر رد لترى كيف يمكنك أن تبرمج وأنت نائم :P،

على أية حال - وجدت أن أفضل حل هو رسم مستطيل فوق نص السطر الحالي بمقدار شفافية ( 30 ) للنون المختار أي ( HighLightColor ) :)

هاهو :

ARichTextBox.jpg

علماً أنه لم ينته بعد لم أجربه لوقت طويل ;)

 

[color= #339933;]<System[color= #339933;].ComponentModel[color= #339933;].DefaultEvent[color= #009900;]([color= #0000ff;]"LineIndexChanged"[color= #009900;])[color= #339933;]> [color= #000000; font-weight: bold;]Public [color= #000000; font-weight: bold;]Class AdvancedRichTextBox

    Inherits RichTextBox

    [color= #000000; font-weight: bold;]Private _CurrentLine [color= #b1b100;]As Line

    [color= #000000; font-weight: bold;]Private _Typing [color= #b1b100;]As Boolean [color= #339933;]= [color= #000000; font-weight: bold;]False

    [color= #000000; font-weight: bold;]Private _HighlightBackColor [color= #b1b100;]As Color [color= #339933;]= Color[color= #339933;].Red

    [color= #000000; font-weight: bold;]Private _HighlightForeColor [color= #b1b100;]As Color [color= #339933;]= Color[color= #339933;].White

    [color= #000000; font-weight: bold;]Public Delegate Sub LineIndexChangedDG[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], ByVal E [color= #b1b100;]As Line[color= #009900;])

    [color= #000000; font-weight: bold;]Public Event LineIndexChanged [color= #b1b100;]As LineIndexChangedDG

 

    [color= #000000; font-weight: bold;]Public Property HighlightBackColor[color= #009900;]([color= #009900;]) [color= #b1b100;]As Color

        Get

            [color= #b1b100;]Return _HighlightBackColor

        [color= #990000;]End Get

        Set[color= #009900;](ByVal value [color= #b1b100;]As Color[color= #009900;])

            _HighlightBackColor [color= #339933;]= value

        [color= #990000;]End Set

    [color= #990000;]End Property

 

    [color= #000000; font-weight: bold;]Public Structure Line

        [color= #000000; font-weight: bold;]Public StartIndex [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public Length [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public EndIndex [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public Contents [color= #b1b100;]As String

        [color= #000000; font-weight: bold;]Public LineIndex [color= #b1b100;]As Int32

        [color= #000000; font-weight: bold;]Public Font [color= #b1b100;]As Font

        [color= #000000; font-weight: bold;]Public ValidMark [color= #b1b100;]As Boolean

 

        [color= #000000; font-weight: bold;]Public ReadOnly Property GetLineBouds[color= #009900;](ByVal Sender [color= #b1b100;]As RichTextBox[color= #009900;]) [color= #b1b100;]As RectangleF

            Get

                [color= #b1b100;]If Font IsNot Nothing Then

                    Dim Rect [color= #b1b100;]As RectangleF

                    Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Sender[color= #339933;].Handle[color= #009900;])

                        Dim STFormat [color= #b1b100;]As [color= #000000; font-weight: bold;]New StringFormat

                        [color= #b1b100;]If Sender[color= #339933;].[color= #990000;]WordWrap Then

                            STFormat[color= #339933;].FormatFlags [color= #339933;]= StringFormatFlags[color= #339933;].LineLimit

                        [color= #b1b100;]Else

                            STFormat[color= #339933;].FormatFlags [color= #339933;]= StringFormatFlags[color= #339933;].NoWrap

                        [color= #990000;]End [color= #b1b100;]If

                        Dim HasBeenUpdated [color= #b1b100;]As Boolean [color= #339933;]= [color= #000000; font-weight: bold;]False

                        [color= #b1b100;]If Not ValidMark Then

                            Contents [color= #339933;]= [color= #0000ff;]" "

                            HasBeenUpdated [color= #339933;]= [color= #000000; font-weight: bold;]True

                        [color= #990000;]End [color= #b1b100;]If

                        Dim FLS [color= #b1b100;]As SizeF [color= #339933;]= G[color= #339933;].MeasureString[color= #009900;](Contents[color= #339933;], [color= #000000; font-weight: bold;]New Font[color= #009900;](Font[color= #339933;].Name[color= #339933;], [color= #009900;](Font[color= #339933;].
Size [color= #339933;]* [color= #cc66cc;]1.058[color= #009900;]) [color= #339933;]* Sender[color= #339933;].ZoomFactor[color= #339933;], Font[color= #339933;].Style[color= #339933;], Font[color= #339933;].Unit[color= #339933;], Font[color= #339933;].GdiCharSet[color= #009900;])[color= #339933;], [color= #990000;]_

                       Sender[color= #339933;].ClientSize[color= #339933;], STFormat[color= #009900;])

                        Rect [color= #339933;]= [color= #000000; font-weight: bold;]New RectangleF[color= #009900;]([color= #cc66cc;]0[color= #339933;], Sender[color= #339933;].GetPositionFromCharIndex[color= #009900;](StartIndex[color= #009900;])[color= #339933;].Y[color= #339933;],
[color= #990000;]_

                        Sender[color= #339933;].ClientSize[color= #339933;].Width[color= #339933;], FLS[color= #339933;].Height[color= #009900;])

                        [color= #b1b100;]If HasBeenUpdated Then

                            Contents [color= #339933;]= [color= #0000ff;]""

                        [color= #990000;]End [color= #b1b100;]If

                    [color= #990000;]End Using

                    [color= #b1b100;]Return Rect

                [color= #b1b100;]Else

                    [color= #b1b100;]Return [color= #000000; font-weight: bold;]New RectangleF[color= #009900;]([color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]1[color= #339933;], [color= #cc66cc;]1[color= #009900;])

                [color= #990000;]End [color= #b1b100;]If

            [color= #990000;]End Get

        [color= #990000;]End Property

    [color= #990000;]End Structure

 

    [color= #000000; font-weight: bold;]Private [color= #000000; font-weight: bold;]Function GetLimeProperties[color= #009900;](ByVal Sender [color= #b1b100;]As RichTextBox[color= #009900;]) [color= #b1b100;]As Line

        Dim CurrentIndex [color= #b1b100;]As Int32 [color= #339933;]= Sender[color= #339933;].SelectionStart

        [color= #b1b100;]If Sender[color= #339933;].TextLength [color= #339933;]= [color= #cc66cc;]0 Then

            Dim ELine [color= #b1b100;]As [color= #000000; font-weight: bold;]New Line

            With ELine

                [color= #339933;].ValidMark [color= #339933;]= [color= #000000; font-weight: bold;]False

                [color= #339933;].StartIndex [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].EndIndex [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].Length [color= #339933;]= [color= #cc66cc;]0

                [color= #339933;].Contents [color= #339933;]= [color= #0000ff;]""

                [color= #339933;].Font [color= #339933;]= Font

                [color= #339933;].LineIndex [color= #339933;]= [color= #cc66cc;]0

            [color= #990000;]End With

            [color= #b1b100;]Return ELine

        [color= #990000;]End [color= #b1b100;]If

        Dim NLine [color= #b1b100;]As [color= #000000; font-weight: bold;]New Line

        With NLine

            [color= #339933;].StartIndex [color= #339933;]= GetIndex[color= #009900;](Sender[color= #339933;], CurrentIndex[color= #339933;], [color= #000000; font-weight: bold;]True[color= #009900;])

            [color= #339933;].EndIndex [color= #339933;]= GetIndex[color= #009900;](Sender[color= #339933;], CurrentIndex[color= #339933;], [color= #000000; font-weight: bold;]False[color= #009900;])

            Debug[color= #339933;].WriteLine[color= #009900;]([color= #339933;].EndIndex[color= #009900;])

            [color= #339933;].Length [color= #339933;]= Math[color= #339933;].[color= #990000;]Max[color= #009900;]([color= #009900;]([color= #339933;].EndIndex [color= #339933;]- [color= #339933;].StartIndex[color= #009900;])[color= #339933;], [color= #cc66cc;]0[color= #009900;])

            [color= #339933;].Contents [color= #339933;]= Sender[color= #339933;].Text[color= #339933;].Substring[color= #009900;]([color= #339933;].StartIndex[color= #339933;], [color= #339933;].Length[color= #009900;])

            [color= #b1b100;]If MyBase[color= #339933;].SelectionFont Is Nothing Then

                [color= #339933;].Font [color= #339933;]= MyBase[color= #339933;].Font

            [color= #b1b100;]Else

                [color= #339933;].Font [color= #339933;]= MyBase[color= #339933;].SelectionFont

            [color= #990000;]End [color= #b1b100;]If

            [color= #339933;].LineIndex [color= #339933;]= GetLineIndex[color= #009900;](Sender[color= #339933;], [color= #339933;].StartIndex[color= #009900;])

            [color= #b1b100;]If [color= #339933;].Contents [color= #339933;]<> [color= #0000ff;]"" Then

                [color= #339933;].ValidMark [color= #339933;]= [color= #000000; font-weight: bold;]True

            [color= #990000;]End [color= #b1b100;]If

        [color= #990000;]End With

        [color= #b1b100;]Return NLine

    [color= #990000;]End [color= #000000; font-weight: bold;]Function

 

    [color= #000000; font-weight: bold;]Private [color= #000000; font-weight: bold;]Function GetIndex[color= #009900;](ByVal Sender [color= #b1b100;]As RichTextBox[color= #339933;], ByVal CurrentIndex [color= #b1b100;]As Int32[color= #339933;], ByVal S
tart [color= #b1b100;]As Boolean[color= #009900;]) [color= #b1b100;]As Int32

        [color= #b1b100;]If Start Then

            [color= #b1b100;]If CurrentIndex [color= #339933;]= [color= #cc66cc;]0 Then [color= #b1b100;]Return CurrentIndex

            Dim CurrentSTIndex [color= #b1b100;]As Int32 [color= #339933;]= [color= #cc66cc;]1

            [color= #b1b100;]Do [color= #b1b100;]While [color= #000000; font-weight: bold;]True

                CurrentSTIndex [color= #339933;]= Sender[color= #339933;].Text[color= #339933;].IndexOf[color= #009900;]([color= #990000;]Chr[color= #009900;]([color= #cc66cc;]10[color= #009900;])[color= #339933;], CurrentSTIndex[color= #009900;]) [color= #339933;]+ [color= #cc66cc;]1

                Dim TempNextIndex [color= #b1b100;]As Int32 [color= #339933;]= Sender[color= #339933;].Text[color= #339933;].IndexOf[color= #009900;]([color= #990000;]Chr[color= #009900;]([color= #cc66cc;]10[color= #009900;])[color= #339933;], CurrentSTIndex[color= #009900;])

                [color= #b1b100;]If [color= #009900;](CurrentSTIndex [color= #339933;]<= CurrentIndex[color= #009900;]) And [color= #990000;]_

                [color= #009900;]([color= #009900;](TempNextIndex [color= #339933;]= [color= #cc66cc;]-1[color= #009900;]) Or [color= #009900;](TempNextIndex [color= #339933;]>= CurrentIndex[color= #009900;])[color= #009900;]) Then

                    [color= #b1b100;]Return CurrentSTIndex

                [color= #990000;]End [color= #b1b100;]If

            Loop

        [color= #b1b100;]Else

            [color= #b1b100;]If CurrentIndex [color= #339933;]>= Sender[color= #339933;].TextLength Then [color= #b1b100;]Return CurrentIndex

            Dim CurrentEDIndex [color= #b1b100;]As Int32 [color= #339933;]= CurrentIndex

            Dim EIndex [color= #b1b100;]As Int32 [color= #339933;]= Sender[color= #339933;].Text[color= #339933;].IndexOf[color= #009900;]([color= #990000;]Chr[color= #009900;]([color= #cc66cc;]10[color= #009900;])[color= #339933;], CurrentEDIndex[color= #009900;])

            [color= #b1b100;]If EIndex [color= #339933;]= [color= #cc66cc;]-1 Then

                [color= #b1b100;]Return Sender[color= #339933;].TextLength

            [color= #b1b100;]Else

                [color= #b1b100;]Return EIndex

            [color= #990000;]End [color= #b1b100;]If

        [color= #990000;]End [color= #b1b100;]If

    [color= #990000;]End [color= #000000; font-weight: bold;]Function

 

    [color= #000000; font-weight: bold;]Private [color= #000000; font-weight: bold;]Function GetLineIndex[color= #009900;](ByVal Sender [color= #b1b100;]As RichTextBox[color= #339933;], ByVal StartIndex [color= #b1b100;]As Int32[color= #009900;]) [color= #b1b100;]As In
t32

        [color= #b1b100;]If StartIndex [color= #339933;]= [color= #cc66cc;]0 Then [color= #b1b100;]Return [color= #cc66cc;]0

        Dim CurrentContents [color= #b1b100;]As String [color= #339933;]= Sender[color= #339933;].Text[color= #339933;].Substring[color= #009900;]([color= #cc66cc;]0[color= #339933;], StartIndex[color= #009900;])

        [color= #b1b100;]If CurrentContents[color= #339933;].Contains[color= #009900;]([color= #990000;]Chr[color= #009900;]([color= #cc66cc;]10[color= #009900;])[color= #009900;]) Then

            [color= #b1b100;]Return CurrentContents[color= #339933;].[color= #990000;]Split[color= #009900;]([color= #990000;]Chr[color= #009900;]([color= #cc66cc;]10[color= #009900;])[color= #009900;])[color= #339933;].Length [color= #339933;]- [color= #cc66cc;]1

        [color= #990000;]End [color= #b1b100;]If

        [color= #b1b100;]Return [color= #cc66cc;]0

    [color= #990000;]End [color= #000000; font-weight: bold;]Function

 

    Protected Overrides Sub OnSelectionChanged[color= #009900;](ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;])

        MyBase[color= #339933;].OnSelectionChanged[color= #009900;](e[color= #009900;])

        Dim NCLine [color= #b1b100;]As Line [color= #339933;]= GetLimeProperties[color= #009900;](Me[color= #009900;])

        [color= #b1b100;]If _CurrentLine[color= #339933;].LineIndex [color= #339933;]<> NCLine[color= #339933;].LineIndex Then

            _CurrentLine [color= #339933;]= NCLine

            [color= #b1b100;]If Not _Typing Then

                SelectionStart [color= #339933;]= _CurrentLine[color= #339933;].EndIndex

            [color= #990000;]End [color= #b1b100;]If

            RaiseEvent LineIndexChanged[color= #009900;](Me[color= #339933;], NCLine[color= #009900;])

        [color= #990000;]End [color= #b1b100;]If

        DrawHighLight[color= #009900;]([color= #009900;])

        _Typing [color= #339933;]= [color= #000000; font-weight: bold;]False

    [color= #990000;]End Sub

 

    [color= #000000; font-weight: bold;]Private Sub DrawHighLight[color= #009900;]([color= #009900;])

        Refresh[color= #009900;]([color= #009900;])

        Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromHwnd[color= #009900;](Handle[color= #009900;])

            With _CurrentLine[color= #339933;].GetLineBouds[color= #009900;](Me[color= #009900;])

                Dim SBrush [color= #b1b100;]As [color= #000000; font-weight: bold;]New SolidBrush[color= #009900;](Color[color= #339933;].FromArgb[color= #009900;]([color= #cc66cc;]30[color= #339933;], [color= #990000;]_

                HighlightBackColor[color= #339933;].R[color= #339933;], HighlightBackColor[color= #339933;].G[color= #339933;], HighlightBackColor[color= #339933;].B[color= #009900;])[color= #009900;])

                Dim NPen [color= #b1b100;]As [color= #000000; font-weight: bold;]New Pen[color= #009900;](HighlightBackColor[color= #009900;])

                G[color= #339933;].FillRectangle[color= #009900;](SBrush[color= #339933;], [color= #339933;].X[color= #339933;], [color= #339933;].Y[color= #339933;], [color= #339933;].Width[color= #339933;], [color= #339933;].Height[color= #009900;])

                G[color= #339933;].DrawRectangle[color= #009900;](NPen[color= #339933;], [color= #339933;].X[color= #339933;], [color= #339933;].Y[color= #339933;], [color= #339933;].Width[color= #339933;], [color= #339933;].Height[color= #009900;])

            [color= #990000;]End With

        [color= #990000;]End Using

    [color= #990000;]End Sub

 

    Protected Overrides Sub OnImeChange[color= #009900;](ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;])

        MyBase[color= #339933;].OnImeChange[color= #009900;](e[color= #009900;])

        DrawHighLight[color= #009900;]([color= #009900;])

    [color= #990000;]End Sub

 

    Protected Overrides Sub OnClientSizeChanged[color= #009900;](ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;])

        MyBase[color= #339933;].OnClientSizeChanged[color= #009900;](e[color= #009900;])

        DrawHighLight[color= #009900;]([color= #009900;])

    [color= #990000;]End Sub

 

    [color= #000000; font-weight: bold;]Private Sub AdvancedRichTextBox_KeyPress[color= #009900;](ByVal sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

    ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].KeyPressEventArgs[color= #009900;]) Handles Me[color= #339933;].KeyPress

        _Typing [color= #339933;]= [color= #000000; font-weight: bold;]True

    [color= #990000;]End Sub

 

[color= #990000;]End [color= #000000; font-weight: bold;]Class

بالتوفيق :)

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 16 سبتمبر 2009 في 07:10

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#6

أنا لسه مصر إن بشار هيوديك فى داهية :D

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#7
GHOST2010 كتب:
أنا لسه مصر إن بشار هيوديك فى داهية :D

ههههههههههه :lol:، شكل محمد راح وخلاص !!

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#8

من ساعة ما حطيت السؤال و جهاز الكمبيوتر مطفى لحد دلوقتى.

عموما شكرا لكم.

سأقوم بتجربة الكود الأن و الرد عليكم.

ملحوظه : أرجو عدم استخدام التاج gcode فى حالة عدم ارفاق الكود لإن الرابط إنسخ الكود لا يعمل داخل الفايرفوكس.

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 16 سبتمبر 2009 في 14:00

مدونتي: C++ Tips and Tricks

#9

واضح انك كررت الرد مرتين ,, ولسه بشار هيعمل فيك أكتر من كده :lol:

تم تعديل هذه المشاركة بواسطة GHOST2010 في 16 سبتمبر 2009 في 13:25

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#10

النت فصل و انا بضيف الرد فعملت رفرش فضافها مره تانيه و على العموم صلحتها :rolleyes:

مدونتي: C++ Tips and Tricks

#11

جربت الكود و كلاهما يعمل بشكل جيد

فكرة عملهم وصلت شكرا لكم جزيلا

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#12
GHOST2010 كتب:
واضح انك كررت الرد مرتين ,, ولسه بشار هيعمل فيك أكتر من كده :lol:

:salam:

B)

____________________________________________

لاشكر على واجب أخي محمد :)

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

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