معنى الخصائص
لكل أداة من أدوات "فيجول بيسيك" بما في ذلك نافذة البرنامج كما ذكرنا في المحاضرات السابقة
ويوجد عدة خصائص لنافذة البرنامج مثل خاصية الخط FontName وهي تحدد اسم الخط المستخدم
وخاصية BackColor وهي تحدد لون الخلفية للنافذة أو الأداة
ويوجد خصائص كثيرة في كل أداة من الأدوات .
وعندما تضع أداة على نافذة البرنامج ، فإن "فيجول بيسيك" يضع قيماً افتراضية لخصائصها . فإذا لم تعجبك هذه القيم الافتراضية ، فإنه يمكنك أن تغيرها وتضع لها قيمـاً جديدة .
فمثلاً : يختار "فيجول بيسيك" خط ms sans serif للأدوات التي لها عنوان مثل أزرار الأوامر ، فإذا لم يعجبك هذا الخط ، فإنه يمكنك أن تغيره إلى أي خط موجود في "ويندوز". والهدف من وضع قيم افتراضية لخصائص الأدوات هو التسهيل عليك . فلو ترك "فيجول بيسيك" كل الخصائص بدون قيمة ، ستضطر إلى وضع قيمة لكل خاصية لكل أداة . وهي عملية شاقة بالطبع
الرجوع إلى القائمة العليا
ضبط الخصائص
هناك طريقتان لضبط الخصائص :
1. أثناء تصميم البرنامج
2. واثناء تشغيله
ضبط الخصائص أثناء تصميم البرنامج
كما ذكرنا في المحاضرات السابقة يتم ضبط الخصائص أثناء تصميم البرنامج باستخدام نافذة الخصائص propertie window وهناك ثلاثة خطوات تمر بها عملية تغيير الخصائص ، هي :
1. تحديد الأداة التي تريد ضبط خصائصها (يمكنك تحديد أكثر من أداة )
2. تحديد الخاصية التي تريد تغييرها
3. إدخال القيمة الجديدة
إذا لم تكن نافذة الخصائص ظاهرة على الشاشة ، اضغط مفتاح F4 لإظهارها :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نافذة الخصائص تنقسم إلى ثلاثة أقسام : خانة الأداة وخانة إدخال القيمة وقائمة بالخصائص :
خانة الأداة :تعرض هذه الخانة اسم الأداة النشطة ونوعها . إذا كنت تريد أن تعدل خصائص أداة أخرى غير تلك المعروضة في هذه الخانة ، فهناك طريقتان :
1. أن تنتقل إلى نافذة البرنامج FORM1 ثم تنقر فوق الأداة المطلوبة
2. أن تضغط السهم الموجود في يمين خانة الأداة . عندها سيعرض لك "فيجول بيسيك" قائمة بكل الأدوات الموجودة فوق النافذة لتختار أحدها. انقر فوق الأداة المطلوبة .
خانة إدخال القيمة
تستخدم هذه الخانة لإدخال القيمة الجديدة للخاصية التي حددتها في قائمة الخصائص .
لاحظ أن الزر الموجود في يمين خانة إدخال له ثلاثة أشكال وهي :
الشكل الأول
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]معناه انك لن تضطر إلى كتابة القيمة بنفسك وإنما يمكنك اختيارها من قائمة سيعرضها لك "فيجول بيسيك" عند النقر على السهم مثل خاصية الخط
الشكل الثاني
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]معناه أنه يمكنك أن تختار قيمة الخاصية الحالية من مربع حوار فمثلا عند تغيير خاصية BACKCOLOR سيظهر الزر في يمين خانة إدخال القيمة انقر عليه سيظهر مربع حوار يحتوي على الألوان الموجودة في "ويندوز" . انقر فوق لون لتختاره .
الشكل الثالث :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]وهو مثل الشكل الأول ولكنة خافت ، وهذا معناه أن "فيجول بيسيك" ليس لديه اختيارات للخاصية الحالية وأنك يجب أن تدخل قيمتها بالكتابة . مثل خاصية Caption التي تحدد خاصية العنوان أو Left التي تحدد موقع الأداة أفقيا أو Top التي تحدد موقع الأداة رأسيـاً . فـ "فيجول بيسيك" ليس لديه خيارات لهذه الخصائص وإنما يجب أن تدخلها بنفسك .
ضبط الخصائص أثناء تشغيل البرنامج
هناك بعض الخصائص التي لا تكون متاحة إلا عند تشغيل البرنامج ، مثل خاصية Drive التي تحدد القرص الحالي في أداة الأقراص أو خاصية path التي تحدد المسار لأداة الأدلة
وحتى ولو كانت الخاصية متوفرة أثناء تصميم البرنامج ، فمن الممكن أن تحتاج إلى تغيرها أثناء تشغيل البرنامج . فمثلا خاصية backcolor التي تحدد لون الخلفية متوفرة أثناء تصميم البرنامج ولكن من الممكن أن تحتاج إلى تغييرها أثناء تشغيل البرنامج .
فمثلا عندما تريد أن تُغير لون خلفية نافذة البرنامج بناءاً على رغبة المستخدم ، فإنك تعرض على المستخدم لوحة بالألوان المتاحة ، وتترك له الاختيار ، ثم تقوم بتغيير لون الخلفية بناءاً على رغبته ، وهذه عملية لايمكن أن تتم أثناء تصميم البرنامج .
فكيف إذا نغير الخصائص أثناء تشغيل البرنامج ؟
ولتغيير الخصائص أثناء عمل البرنامج اتبع الصيغة التالية :
القيمة الجديدة = اسم الخاصية . الأداة
cotrolName.propertyName = New Value
وهذا يعني تكتب اسم الاداة التي ترغب في تغيير خصائصها ثم تضع بعدها نقطة (.) ثم اسم الخاصية التي ترغب في تغيير قيمتها ثم علامة يساوي (=) ثم القيمة الجديدة للخاصية .
وتجربة على ذلك .
v انقر زر أوامر من نافذة الأدوات واوضعه في نافذة البرنامج
v انقر زر اوامر نقرا مزدوجا
v سيظهر لك نافذة البرمجة الخاصة بهذا الزر :
ادخل الاسطر التالية :
Sub command1_click ( )
form1.backcolor = 0
form1.caption = “this is a test”
command1.width = 2500
command1.caption = “ push me please “
command1.top = 10
End sub
وبعد ذلك اضغط F5 لتشغيل البرنامج
الرجوع إلى القائمة العليا
الخصائص المشتركة
خاصية العنوان )تستخدم هذه الخاصية عندما تريد تغير عنوان زر الأمر من command1 إلى خروج مثلاً(
اسم الخاصية : Caption
متوفرة أثناء : التصميم والتنفيذ
هذه الخاصية متوفرة لجميع الأدوات
مثال :
"مسابقة الشاطر يربح"form1.caption =
خاصية الاســم
اسم الخاصية : Name
متوفرة أثناء : التصميم فـقط.
خاصية الاسم خاصية تشترك فيها كل الأدوات . وهي تحدد الاسم الذي ستستخدمه أنت للإشارة إلى الأداة أثناء كتابة البرنامج . فكما قلنا
عندما تضع اداة معينة على نافذة البرمجة يقوم "فيجول بيسيك" بتسميتها بطريقة اتوماتيكية بإضافة الاسم ثم رقم مثل form1 أو command1 أو label1 كل هذه اسماء يقوم "فيجول بيسيك" بوضعها
خصائص اللون
اسم الخاصية : forecolor للون الكتابة
backcolor للون الخلفية
متوفرة أثناء : التصميم والتنفيذ
تتحكم هاتان الخاصيتان في لون الكتابة ولون الخلفية فمثلا الأمر :
label1.forecolor = qbcolor (1)
وهذا يعني قم يا"فيجول بيسيك" بتغيير لون الكتابة لأداة العنوان إلى اللون الأزرق
خصائص الخط المستخدم في الكتابة
اسم الخاصية : fontbold , fontitalic ,fontname ,fontsize ,fontstrike ,fontunderline
متوفرة أثناء : التصميم والتنفيذ
تتحكم هذه الخصائص في اسم وصفات الخط المستخدم في الكتابة
تتحكم في …
اسم الخاصية
اختيار اسم الخط
Fontname
سمك الخط
Fontbold
ميل الخط مثل : خط مائل
Fontitalic
حجم الخط
Fontsize
خط وسط الخط مثل "فيجول بيسيك"
Fontstrikethru
خط تحت الخط مثل : "فيجول بيسيك"
fontunderline
خصائص الحجم والموقع على النافذة
اسم الخاصية : Top,Lift,Height,Width
متوفرة أثناء : التصميم والتنفيذ
تتحكم هذه الخصائص الأربع في موقع الأداة وحجمها على النافذة وبالنسبة للنوافذ تتحكم في موقعها على الشاشة وحجمها كما يلي :
تتحكم في …
اسم الخاصية
الطرف العلوي للأداة
Top
الطرف الأيسر للأداة
Left
أرتفاع الأداة
Height
عرض الأداة
Width
مثال :
form1.top = 0
form1.left = 0
سيحركان النافذة إلى أقصى اليسار العلوي من الشاشة . كما إن الأمر :
command1.width = command1.width *2
سيجعل عرض الأداة command1 يتضاعف
خاصية شكل المشيرة
اسم الخاصية : MousePointer
متوفرة أثناء : التصميم والتنفيذ
يتيح لك "فيجول بيسيك" تغيير شكل المشيرة تبعاً للأداة التي تمر من فوقها . وهناك ثلاثة عشر شكلاً للمشيرة يمكن أن تختار بينها الأمر :
command1.mousepointer = 10
وهذا يغير شكل المشيرة إلى سهم لأعلى كلما مرت فوق الزر command1
أما الامر التالي يحول المشيرة إلى علامة الانتظار (الساعة الرملية )
command1.mousepointer = 11
وأما اصدار الامر التالي يعيد شكل المشيرة إلى الوضع الطبيعي
command1.mousepointer = 0
خاصية الظهور
اسم الخاصية : Visible
متوفرة أثناء : التصميم والتنفيذ
فيما عدا أداة المؤقت وأداة مربعات الحوار الشائعة ، فإن الأدوات التي تضعها على النافذة تظهر أثناء تشغيل البرنامج . ولكن قد تريد أحيانا أن تحفي بعض الأدوات وأن تظهر بعضها تبعاً لطبيعة برنامجك. هذه الخاصية تمكنك من عمل ذلك . فمثلا الأمر :
text1.visible = false
يؤدي إلى اختفاء خانة النص text1 بينما الأمر :
text1.visible = true
يعيد إظهارها .
لا يظهر تأثير هذه الخاصية إلا عند تشغيل البرنامج
خاصية التمكين
اسم الخاصية : enabled
متوفرة أثناء : التصميم والتنفيذ
تستخدم هذه الخاصية عندما تريد أن تبقى الأداة ظاهرة على النافذة ولكن لا تريد أن تتيح للمستخدم أن يتعامل معها . فإذا عيرت هذه الخاصية إلى false لأداة فإنها ستظهر خافته على النافذة مما يعطى المستخدم تلميحا إلى أنه لن يتمكن من استخدامها الأن .
خصائص السحب والإلقاء
اسم الخاصية : DragIcon , DragMode
متوفرة أثناء : التصميم والتنفيذ
تستخدم عملية السحب والإلقاء كثيرا في "ويندوز" وتعني أن تقوم بنقر عنصر معين على الشاشة أو النافذة ثم تبقي زر الفأرة مضغوطاً وتسحب هذا العنصر إلى موقع جديد ثم تلقيه بأن تحرر زر الفأرة . وأشهر مثال على تلك العملية هي عند تحريك نوافذ التطبيقات العادية
وتتحكم خاصية طور السحب DragMode في أسلوب عملية السحب ولها وضعان
0 "يدوي" وهو الوضع الافتراضي ، وفيه يجب أن تقوم باستخدام الأوامر في بدء وإنهاء عملية السحب .
1 "تلقائي" وفيه تبدء عملية السحب تلقائياً عندما يضغط المستخدم زر الفأرة فوق الأداة .
تستخدم هاتين الخاصيتين بالاشتراك مع الحدثين dragdrop ,dragover
في القيام بعملية السحب . ولأننا لم نشرح الأحداث بعد ، دعنا نأخذ مثالاً بسيطا على عملية السحب والإلقاء.
v ضع خانتي نص على النافذة وكبر حجمهما ، واتركهما على اسمهما الافتراضي text1,text2
v انتقل إلى الخانة الأولى text1 وانقر عليها لتنشيطها
v انتقل إلى نافذة الخصائص وانقر فوق خاصية طور طور السحب DragMode
وحولها إلى 1automatic
v انتقل إلى نافذة البرنامج form1 ثم انقر فوق خانة النص الثانية text2 نقراً مزدوجاً
v سيفتح "فيجول بيسيك" نافذة البرمجة الخاصة بهذه الخانة :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]كما ترى من الشكل اختر الحدث OLEDragdrop الخانة الموضحة في الشكل اكتب السطر :
text2.text = text1.text
v اضغط F5 لتشغيل البرنامج
v استخدم لوحة المفاتيح لكتابة بعض النص في خانة النص text1
v انقر فوق خانة النص text1 واسحبها ستجد أن هناك مستطيلا بنفس حجم الخانة يتحرك مع حركة الفأرة
v ألق هذا المستطيل فوق خانة النص الثانية text2
ستجد أن النص الموجود في خانة النص الأولى قد انتقل إلى خانة النص الثانية