السلام عليكم ورحمة الله وبركاته
احبائي رواد منتدانا الغالي
اقدم لكم مثال على تغيير حجم مربع الاختيار (CheckBox) والتحكم في تغيير قيمة خاصيته لون الخلفية (Back Color) بناءً على القيمة وهو مفيد للإستغناء عن مربعات الاختيار والتي لا تمتلك خصائص لتغيير الحجم او اللون او نوع الخط .
شرح الفكرة :
الفكرة تعتمد على استبدال مربع الاختيار بمربع تسمية يملك خصائص لا يملكها مربع الاختيار ويتم عمل تزامن (Synchronization) بينه وبين البديل ( مربع التسمية ) .. وذلك من خلال الكود الموضح بالفقرة ( 5 )
الخطوات :
1: انشاء جدول اسمه table1 وهذا الجدول بسيط جداً يتكون من ثلاثة حقول منها حقل Paid وهو من نوع ( نعم / لا ) وسيكون عبارة عن مربع اختيار على النموذج الذي سوف يتم عليه العمل.
3: انشاء نموذج مبني على الجدول السابق .... وايضاً تغيير خاصية ( مرئي ) لمربع الاختيار مصدر الحقل (Paid) الى القيمة ( لا ) ليتم اخفاؤه ...... اسم مربع الاختيار هذا هو ( Check1 ).
4: انشاء مربع تسمية اسمه ( label1 ) وتعيين القيمة ( فراغ ) لخاصيته ( التسمية ) او بالانجليزي Caption وتغيير نوع الخط لهذا المربع بـالنوع ( Wingdings ) ... كما يمكن التحكم في بعض خصائصه حسب الرغبة في اظهاره
5: وضع الكود ادناه بحدث في الحالي للنموذج
If Me.Check1 = True Then
Label1.Caption = Chr(252)
Label1.BackColor = 255
Else
Label1.Caption = " "
Label1.BackColor = 16777215
End Ifشرح الكود :
السطر الاول : استخدام If الشرطية للتأكد من ان قيمة مربع الاختيار تساوي (True ) ..... اذاً
السطر الثاني : يتم تعيين الحرف (252)Chr كقيمة لخاصية التسمية (Caption) لمربع التسمية وهذا الحرف في اللغة المختارة هو عبارة عن علامة الصح
السطر الثالث : تغيير لون الخلفية لمربع التسمية الى اللون الاحمر ( اي اذا كان مربع الاختيار قد تم تأشيره يأخذ اللون الاحمر بدلاً من لونه الابيض الافتراضي )
السطر الرابع : كلمة (Else) كما هو معروف تعني والا اي اذا لم تكن قيمة مربع الاختيار Check1 تساوي True.
السطر الخامس : يتم تعيين القيمة (فراغ) كقيمة لخاصية التسمية (Caption) لمربع التسمية label1 .
السطر السادس : يتم تعيين اللون الابيض كخلفية لمربع التسمية label1 .
السطر السابع : انهاء الجملة الشرطية If
6: وضع الكود ادناه بحدث عند النقر (On Click) لمربع التسمية label1 .
[Check1] = Not ([Check1])
If [Check1] = True Then
Label1.Caption = Chr(252)
Label1.BackColor = 255
Else
Label1.Caption = " "
Label1.BackColor = 16777215
End Ifشرح الكود :
السطر الاول : تغيير قيمة مربع الاختيار وبالتالي تغيير قيمة حقل (Paid) فإذا كانت True ستصبح False والعكس .
السطر الثاني : استخدام If الشرطية للتأكد ان قيمة الحقل (Paid ) تساوي (True) وذلك بالتأكد من مصدر الحقل اي قيمة مربع الاختيار... فإذا كانت كذلك اذاً
السطر الثالث : يتم تغيير تسمية مربع التسمية لتظهر علامة الصح بداخله .. وذلك باستخدام نوع الخط (Wingdings)
السطر الرابع : تغيير لون خلفية مربع التسمية الى اللون الاحمر بدلاً من اللون الابيض
السطر الخامس : تعني والا .. اي في الحالة الآخرى
السطر السادس : يتم تغيير تسمية مربع التسمية لتكون فراغ (" ")
السطر السابع : يتم تغيير لون خلفية مربع التسمية الى اللون الابيض
السطر الثامن : انهاء الجملة الشرطية If
اعتذر على الإطالة .. و ارجو ان يكون بهذا المثال الفائدة للجميع
دمتم بوّد
اخوكم / يوسف احمد




