الاداه msflexgrid

بسم الله الرحمن الرحيم
في هذه المشاركه البسيطه سوف نتطرق ان شاء الله بشي من التفصيل الي الاداه
خصائصها وبعض الاحداث Felex gride
Components اولا لاضافة الاداه الي النموذج نختار
ثم اختارProject من قائمة

Microsoft flexdrid control 6



بعد وضع الاداه علي النموذج نشرع في شرح بعض الخصائص المهمه


اولا الخاصيه Righttoleft



القيمه الافتراضيه لهذه الخاصيه هي false




تستخدم هذه الخاصيه اذا كنت تريد استخدام الاده لتبدو الصفوف والاعمده

علي يمين الاداه . وتستخدم مع النصوص العربيه



مثال

msflexgrid1.RightToLeft =True



الخاصيه cols الخاصيه rows



تستجدم هذه الخاصيه في التحكم في عدد الصفوف والاعمده في الجدول
وعند زيادة الصفوف والاعمده بعدد اكبر من ارتفاع وعرض الاداه فان ذلك سيؤدي
الي ظهور اشرطة تمرير في الاداه لتمكين المستخدم من رؤية باقي الصفوف والاعمده


مثال





Private Sub Form_Load()

MSFlexGrid1.Rows = 5
MSFlexGrid1.Cols = 5
End Sub


هذه الاوامر تودي الي زيادة عدد الصفوف والاعمد في الاداه الي 5
ويمكن ضبط الخصائص في وقت التصميم بالذهاب الي الخاصيه


وكتابة العدد 5 امام الخاصيتينRows , cols



الخاصيتان FixedCols Fixedrows







تحددان عدد الاعمده والصفوف الثابته في الاداه القيمه الافتراضيه هي صف واحد
وعمود واحد. ويمكنك زياده الاعمده والصفوف الثابته او الغائها تماما في وقت التصميم
او وقت التشغيل . ولكن يجب ان يكون عدد الاعمده والصفوف في الاداه اكبر من عدد الاعمده والصفوف الثابته
والا حصلت عل خطأ اثناء تشغيل البرنامج


مثال




Private Sub Form_Load()
MSFlexGrid1.Cols = 5
MSFlexGrid1.Rows = 5
MSFlexGrid1.FixedCols = 2
MSFlexGrid1.FixedRows = 2

End Sub




والان بعد ان تعرفنا علي كيفية زيادة الصفوف والاعمده سنتعرف علي
كيفية ملء خلايا الاداه بالنصوص التي نريدها. هناك عدة طرق لذلك
الطريقه الاولي استخدام الداله





Textmatrix
هذه الداله تقوم بالكتابه الي الخليه المحدده. تحديد الخليه يكون بتقاطع الصف
والعمود.كما رأيت تتكون الاداه من اعمده وصفوف متقاطعه. تقاطع الاعمده
والصفوف هذا كون الخلايا او المربعات التي تراها داخل الاداه
فهذه الاداه عباره عن جدول به عدة اعمده وصفوف
فاذا اردت الكتابه الي ذلك الجدول الذي يمثل الاداه هنا فعليك تحديد الخليه المراد الكتابه اليها
فمثلا اذا اردنا الكتابه الي الخليه العلويه في الاداه. نحدد تقاطع العمود رقم 0 مع الصف رقم 0



الصف الاول والعمود الاول في الاداه يبدا ن ب 0
مثال




Private Sub Form_Load()

MSFlexGrid1.TextMatrix(0, 0) = 100

End Sub



في هذا المثال كتبنا اسم الاداه ثم استعرضنا الي الداله
textmatrix
ثم حددنا الي الداله الصف رقم 0 والعمود رقم 0 ثم حددنا النص المراد
كتابته بعد اشارة الساواه = . واذا كان النص المراد كتابته عباره عن حروف
يجب وضعه بين علامتي تنصيص.



الطريقه الثانيه استخدام الخاصيه row

والخا صيه col ثم تحديد تقاطع الصف والعمود

ثم تحديد النص المراد كتابته بالخاصيهtext




مثال



Private Sub Form_Load()
MSFlexGrid1.Row = 0: MSFlexGrid1.Col = 0: MSFlexGrid1.Text = 88



End Sub



مثال أخر



Private Sub Form_Load()
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = “demon”


End Sub


الطريقه الثالثه استخدام الوظيفه clip





مثال

Private Sub Form_Load()

MSFlexGrid1.Row = 0: MSFlexGrid1.Col = 0: MSFlexGrid1.Clip = "mohamed"
End Sub

الان بعد ان تعرفنا الي كيفية ملء خلايا الاداه بالنصوص التي نريدها
نكمل شرح الخصائص المتبقيه


الخاصيتان ا rowsel , colsel


وظيفة هاتين الخاصيتين هما انتقاء مجموعه متجاوره من الخلايا
انتقاء الخلايا يعني اختيار الخلايا لتبدو عند تشغيل البرنامج محدده دون غيرها من الخلايا
لاستخدام هذين الخاصيتين لا بد من تحديد نقطة بداية التحديد باستخدام الخاصيتين
Row , col



مثال

Private Sub Form_Load()
MSFlexGrid1.Rows = 6
MSFlexGrid1.Cols = 6
MSFlexGrid1.Row = 2
MSFlexGrid1.Col = 2
MSFlexGrid1.RowSel = 4
MSFlexGrid1.ColSel = 4
End Sub


AllowUserResizingالخاصيه




تتيح هذه الخاصيه للمستخدم تكبير عرض الاعمده فقط او ارتفاع الصفوف
فقط .أو عرض الاعمده وارتفاع الصفوف معا بزر الماوس عندما يضع الماوس
علي الحد الفاصل بين الاعمده والصفوف


للسماح للمستخدم بتكبير عرض الاعمده فقط . أكتب هذا الكود




msflexgrid1.AllowUserResizing =flexResizeColumns

للسماح للمستخدم بتكبير أرتفاع الصفوف فقط. اكتب هذا الكود





msflexgrid1.AllowUserResizing =flexResizeRows

للسماح للمستخدم بتكبير عرض الاعمده وأرتفاع الصفوف معا. أكتب هذا الكود
msflexgrid1.AllowUserResizing =flexResizeBoth

لمنع المستخدم من تكبير عرض الاعمد وارتفاع الصفوف معا. أكتب هذا الكود

MSFlexGrid1.AllowUserResizing =flexResizeNone



الخاصيه

AllowBigSelection



تتيح هذه الخاصيه للمستخدم تحديد عمود بالكامل أو صف

بالكامل بنقر العمود أو الصف بالماوس

MSFlexGrid1.AllowBigSelection =True


FillStyle الخاصيه



هذه الخاصيه مرتبطه معها الخصائص التاليه ان شئت


MSFlexGrid1.CellAlignment

تحدد وضع النص داخل الخليه يمين أو يسار أو في الوسط وها 9 قيم
MSFlexGrid1.CellBackColor

تحدد لون خليفية الاداه
MSFlexGrid1.CellFontBold

تحدد عرض الخط في الخليه من عدمه
MSFlexGrid1.CellFontItalic
تحدد ميلان الخط في الخليه من عدمه
MSFlexGrid1.CellFontName


تحدد اسم الخط داخل الاداه
MSFlexGrid1.CellFontSize
تحدد حجم الخط داخل الخليه
MSFlexGrid1.CellFontStrikeThrough

تحدد الخط داخل الخليه هل يتخلله خط ام لا
MSFlexGrid1.CellFontUnderline
تحدد الخط داخل الخليه هل يكون تحته خط ام لا
MSFlexGrid1.CellFontWidth
تحدد عرض الخط داخل الخليه
MSFlexGrid1.CellForeColor

تحدد لون الخط داخل الخليه
MSFlexGrid1.CellTextStyle

تحدد شكل الخط داخل الخليه

أذا أردت تطبيق كل هذه التأثيرات علي الاداه لابد من جعل الخاصيه


fillstyle عند القيمه flexfillrepet




مثال علي تطبيق التاثيرات علي خلايا الجدول



Private Sub Form_Click()

MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.RowSel = MSFlexGrid1.Rows - 1
MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1
MSFlexGrid1.FillStyle = flexFillRepeat
MSFlexGrid1.CellFontBold = True

End Sub



واذا أردت تطبيق هذه التأ ثيرات علي الخليه النشطه وحدها اجعل قيمه الخاصيه


fillstyle عند القيمه fiexfillrepeat




الخاصيه cellpicture


تمكنك هذه الخاصيه من وضع صوره في أي خليه من خلايا الاداه
Row , col الخاصيتين تحتاج الي استخدام

لتحيدد الخليه المراد وضع الصوره فيها. كما تحتاج الي استخدام الداله


لتحديد ملف الصوره Loadpicture()

مثال

Private Sub Form_Load()

MSFlexGrid1.CellPicture = LoadPicture("c:\big.bmp")


End Sub


الخاصيه ColWidth RowHeight الخاصيه


الخاصيه الاولي تحدد ارتفاع الصف والاخري عرض العمود

تحتاج الي بيان رقم الصف الذي تريد زيادة ارتفاعه وكذلك بالنسبه للعمود

هذه الخصائص ستحتاج الي استخدامها عندما تضيف صوره الي خليه ما

فان الاداه لا تغير حجم الخليه تلقائيا

مثال

Private Sub Form_Click()
MSFlexGrid1.CellPicture = LoadPicture("c:\big\bmp")
MSFlexGrid1.RowHeight(0) = 1000
MSFlexGrid1.ColWidth(0) = 1000
End Sub




AddItem الخاصيه


تمكنك هذه الخاصيه من اضافة صفوف جديده الي الاداه

يمكنك وضع عنوان للصف فقط او ملء خللايا الصف الجديد كما في المثال التالي


Private Sub Form_Click()
MSFlexGrid1.AddItem "bb"
MSFlexGrid1.AddItem "plural" & vbTab & "famous" & vbTab & " invitation"
End Sub


الخاصيهFocusRect



تحدد هذه الخاصيه كبف سيكون شكل التحديد داخل الخليه . تحمل هذه الخاصيه ثلاثه قيم

flexfocusheavy تظهر هذه القيمه مستطيل سميك حول الخليه


flexfocuslihhtتظهر هذه القيمه مستطيل خفيف حول الخليه المحدده





flexFocusNoneلن تظهر هذه الخاصيه أي تحديد مميز حول الخليه


GridLines



تتحكم هذه الخاصيه في كيفية ظهور الخطوط حول


الخلايا غير الثابته ولها اربعه قيم مابين ظهور الخطوط من عدمه حاول ان تستكشفها



تتحكم في سمك الخطوط GridLineWidth الخاصيه



GridLinesFixed الخاصيه



مثل الخاصيه السابقه غير انها تتحكم في ظهور الخطوط حول الخلايا الثابته



RowHeightMin الخاصيه




تحدد الحد الادني لارتفاع الصفوف. تمنع بها المستخدم من تقليل ارتفاع الصفوف ال حد غير مناسب

SelectionMode الخاصيه

تحدد كيفية تحديد الخلايا في الشبكه. ولها ثلاثه قيم



flexSelectionByColumn القيمه

تمكن هذه القيمه المستخدم من تحديد العمود باكمله



flexSelectionByRow القيمه


تمكن هذه الخاصيه المستخدم من تحديد صف باكمله


flexSelectionFree القيمه



تمكن هذه القيمه المستخدم من تحديد أي خلايا في الاداه


WordWrap الخاصيه

تتحكم في الالتفاف التلقائي للنص عند تغير عرض الاعمد وارتفاع الصفوف
وتاخذ fales او true



BackColor الخاصيه

تحدد هذه الخاصيه لون الخلا يا الغير ثابته


BackColorBkg الخاصيه

هذه الخاصيه تتحكم في لون المنطقه الخليفيه للاداه خارج نطاق الاعمده والصفوف



BackColorFixed الخاصيه

تتحكم هذه الخاصيه في لون الخلايا الثابته





BackColorSel الخاصيه

تتحكم هذه الخاصيه في لون الخليه النشطه. عندما ينقر المستخدم علي خليه معينه


ForeColor الخاصيه

تتحكم في لون الخطوط داخل الخلايا غير الثابته





ForeColorFixed الخاصيه

تتحكم في لون الخطوط داخل الخلايا الثابته


ForeColorSel الخاصيه


تتحكم هذه الخاصيه في لون خط الخليه النشطه.. عندما ينقر المستخدم علي الخليه


GridColor الخاصيه



للون الخطوط داخل الخلايا الغير ثابته



GridColorFixed الخاصيه

للون الخطوط داخل الخلايا الثابته




TextStyle الخاصيه




تتحكم هذه الخاصيه في شكل النص داخل الخلايا ولها اربعه
قيم .حاول تجربتها قيمه تلو الاخري للتعرف عليها اكثر


Clear الوظيفه

تستطيع من خلال استعمال هذه الوظيفه مسح كل النصوص داخل خلايا الاداه

MSFlexGrid1.Clear




RemoveItem الوظيفه

هذه الوظيفه تمحو الصف الذي تحدده بين قوسيها

في المثال الاتي نمحو الصف الثالث بأكمله

MSFlexGrid1.RemoveItem (3)






اهم احداث الاداه

MSFlexGrid1_EnterCell

يبدأ هذا الحدث عندما يتم نقر خليه من خلايا الجدول او عندما تستقبل الخليه التركيز



Private Sub MSFlexGrid1_EnterCell()
MSFlexGrid1.FillStyle = flexFillRepeat
Dim A
(ادخل النص المراد اضافته الي الخليه)a=inputbox

MSFlexGrid1.Text = A
End Sub

MSFlexGrid1_LeaveCell الحدث


يبدأ هذا الحدث كلما فقدت الخليه التركيز




Private Sub MSFlexGrid1_LeaveCell()
MSFlexGrid1.Text = ""
End Sub

-
-
-
-


استخدام الاداه للربط مع قاعده بيانات

بعد كل هذه الخصائص المفيده هناك أستخدام مفيد لهذه الاداه. يختص

بريط الاداه بقواعد البيانات واظهار حقول قاعدة البيا نات وماتحتويه من
صفوف في الاداه.


لاستخدام الاداه لهذا الغرض .قم بوضع الاداه data






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

علي جهازك. ثم قم بضبط الخاصيه

مصد البيانات) للاداه )datasource



مع اداة قاعدة البيانات flexgridبعد ذلك قم بتشغيل البرنامج

تلاحظ ان خلايا الاداه امتلاْت بسجلات قاعدة البيانات



الاداه flexgrid أداه منضمه . الادوات المنضمه هي ادوات تحتوي علي الخاصيه


للربط مع قواعد البياناتdatafiled ; datasource



استخدام الوظيفه sort


لفرز خلايا الاداه يتطلب استخدام sort تستخدم الوظيفه


هذه الوظيفه تحديد العمود الذي علي اساسه سيتم الفرز
بعد تحديد العمود يمكنك استخدام الوظيفه sortt

لتحديد خيارات الفرز . عند الارقام من 0 الي 9

مثال


Private Sub Command4_Click()

MSflexgrid1.Col = 2
MSflexgrid1.Sort = 1

End Sub


البحث داخل الاداه

من المهارات التي لابد من اكتسابها عملية البحث داخل الاداه

في هذه الجزئيه الاخيره سنعرض مثال يقوم بالبحث داخل

الاداه عن نص معين . ثم نحاول التعرف علي سطوره
-
-
-

Private Sub Command4_Click()
Dim a, b
MSFlexGrid1.FillStyle = flexFillRepeat
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.RowSel = MSFlexGrid1.Rows - 1
MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1
MSFlexGrid1.CellFontBold = False

For a = 0 To MSFlexGrid1.Rows - 1
For b = 0 To MSFlexGrid1.Cols - 1
If InStr(MSFlexGrid1.TextMatrix(a, b), Text1.Text) Then
MSFlexGrid1.Row = a
MSFlexGrid1.Col = b
MSFlexGrid1.CellFontBold = True
End If
Next
Next

End Sub

في السطر الاول تم تعريف متغيرين لاستعمالهما في الدوارات في ما بعد



بالقيمه 1. وذلك لجعل التأثيراتFillStyle السطر الثاني جعل الخاصيه


تنطبق علي كل خلايا الاداه

السطر الثالث الي السادس تقوم هذه السطور بتحديد كل خلايا الاداه

لاجراء تأثيرلت عليها . فقد تم ضبط الخاصيتان

MSFlexGrid1.Row = 0

MSFlexGrid1.Col = 0

عند 0 وذلك ليتم التحديد من اول خليه في صفوف الاداه

وأول خليه في اعمدة الاداه . ثم استعمال السطران الخامس والسادس

لتحديد كافة الخلايا في الاداه بواسطة الخاصيتان

ColSel و RowSel

اللتان تفيدان معرفة عدد الخلايا التي تريد تحديدها . فقد جعلناهما

و MSFlexGrid1.Cols - 1
MSFlexGrid1.Cols - 1




أي كافه خلايا صفوف الاداه وكافة خلايا اعمدة الاداه

السطر السابع جعل خطوط الاداه غير عريضه
السطر الثامن والتاسع الدخول في حلقتين . واحده تدور حول صفوف

الاداه. وواحده تدور حول أعمدة الاداه


السطر العاشر استعمال الداله instr



للبحث داخل الاداه

. واستعمال شرط لذلك. بالعباره if

هذا الشرط يفيد في حين وجود تطابق للنص المراد البحث عنه

جعل نص الخليه المطابقه اسود عريض . وهذا ما يحتوي عليه باقي السطور

-
-
-
كانت هذه المشاركه البسيطه ارجو ان تفيدنا

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




 
عودة
أعلى