خصائص وأحداث عنصر النافذة
كل مشروع له على الأقل نافذة واحدة Form تمثل النافذة الرئيسة ، كما يمكن أن يكون للمشاريع أكثر من نافذة واحدة. لعنصر النافذة خصائص وأحداث سنتعرض لهما في هذا الدرس .
عند بداية مشروع جديد ينشئ ديلفي نافذة يسميها Form1 بإمكانك إضافة نافذة جديدة من خلال الأمر File|New Form ولكل نافذة وحدة Unit خاص بها يحتوي على برمجة هذه النافذة
ويمكنك الدلفي من التعامل مع النافذة والتعامل مع خصائصها وإضافة أحداث لها من خلال العنصر التالي
والذي سنتعرف الآن على أبرز خصائصة التي يمكننا من التعامل معها
أولا : نتعرف على خصائص عنصر النافذة Properities
ActiveControl : يحدد أي عنصر موضوع على النافذة الرئيسة هو العنصر النشط يمكن التحريك بين العناصر باستخدام الزرTab
AutoScroll : إعطها القيمة True لتظهر وتختفي أشرطة التمرير Scroll bars تلقائياً عند حدوث نقص في مساحة النافذة.
Cruser : يعين شكل مؤشر الفأرة عندما تقع على مساحة النافذة.
Enabled : أعطها القيمة True لكي تستجيب النافذة لأحداث الفأرة ولوحة المفاتيح وعنصر التوقيت Timer وعند إعطائها القيمة False لاتستجيب لاتفعل ذلك إلا إذا كنت تدري ما تفعل .
HerzScrollBar: يظهر شريط التمرير الأفقي للنافذة.
Icon: تحديد أيقونة النافذة ويظهرها على شريط العنوان.
KeyPreview: أعطها القيمة True لكي تتلقى النافذة أغلب أحداث لوحة المفاتيح.
Menu: تستخدم لتحديد قوائم النافذة أحياناً في بعض برامج واجهة المستندات المتعددة Multiple Document Interface واختصاراً MDI كبرنامج مايكروسوفت وورد يمكنك إثناء التشغيل تغيير القوائم.
ObjectMenuItem: يستخدم مع تطبيقات OLE لقواعد البيانات.
PixelsPerInch: يحدد كيف يقوم التطبيق لإنشاء النافذة ليتم قياسها بالنقاط لكل بوصة استخدمه مع Scaled لانشاء نافذة متشابهة في الحجم مع دقة شاشة مختلفة إذاكانت Scaled محددة بالقيمة False فإن PixelsPerInch ليس لها أي تأثير.
Position: تحدد المناهج لحساب حجم ومكان النافذة حسب القيم التالية:
poDefault يعرض النافذة وموضها المصمم.
poDefaultPostOnly يحدد المكان المصمم للنافذة ولكن يحسب حجمها وقت التشغيل (يحدد ويندوز الحجم البدائي لها).
poDefaultSizeOnly يحدد الحجم المصمم للنافذة ولكن يحسب موضعها وقت التشغيل.
poScreenCenter عرض النافذة في وسط الشاشة.
Scaled: تحدد بالقيمة True لاستخدام خاصة PixelsPerInch يقوم بتغيير مقاسات الشاشة وهو هام لضمان ظهور النص بشكل سليم في تحكم النافذة على أنظمة تستخدم خطوط كبيرة ، كما في الويندوز 98 وويندوز NT5.0 والتي يستطيع المستخدم فيها اختيار قياسات الخطوط.
Tag: لايوجد تحديد مسبق يمكنك استخدم Tag لتمرير أي قيمة عدد صحيح تريد أو عدد يفحصه في أثناء التشغيل.
VertScrollBar: يظهر شريط التمرير الرأسي للنافذة.
Visible: تحدد بالقيمة True ليجعل العنصر مرئياً أو False ليخفيه حتى يستدعي البرنامج المنهج Show .
WindowMenu: يستخدم في تطبيقات واجهة المستندات المتعددة MDI تصمم القائمة لعرض عناوين النوافذ المفتوحة حدد هذه الخاصية في بنود تغيير النوافذ.
ثانيا : نتعرف على أحداث عنصر النافذة Events
OnActive: يتم استدعائه عندما يقوم البرنامج بالتعامل مع النافذة عندما تنتقل من تطبيق آخر.
OnDblClick: يتم استدعائه عندما يقوم المستخدم بالنقر المزدوج على النافذة.
OnClick: يتم استدعائه عندما يقوم المستخدم بالنقر المفرد على النافذة.
OnClose: يتم استدعائه عندما تغلق النافذة.
OnCloseQuery: يستدعى قبل أن تغلق النافذة مباشرة ، يمكنك استخدام هذا الحدث لمنع فقدان البيانات وسؤال المستخدم عن موافقتهم على حفظ البيانات التي تم تغييرها قبل أن تغلق النافذة أو منع النافذة من الإغلاق.
OnCreate: يستدعى مرة واحدة عند إنشاء النافذة في الذاكرة.
OnDestory: يستدعى قبل تدمير النافذة وهي الفرصة الأخيرة لأداء أي عمل قبل إنهاء التطبيق.
OnDonner, OnBlitzen: تحدث عند حدوث أي حدث مهما كان للنافذة.
OnHide: يستخدم لأداء أعمال عندما تكون النافذة مختفية مثلاً تحريرالذاكرة عندما تكون النافذة في حالة غير مرئية.
OnKeyDown: يستدعى عندما يضغط المستخدم أي مفتاح بما في ذلك مفاتيح التي لها وظائف خاصة استخدم هذا الحدث في حالة ضغط أكثر من مفتاح مثل مفاتيح Alt, Shift, Ctrl مع مفاتيح أخرى يمكن تكرار هذا الحدث قبل رفع الزر ، استخدم القيمة True للخاصة KeyPreview عند استخدام هذا الحدث.
OnKeyPress: يستدعى عندما يضغط المستخدم أي مفتاح غير المفاتيح التي لها وظائف خاصة ، هذا الحدث بعدOnKeyDown وقبل OnKeyUp ، استخدم القيمة True للخاصة KeyPreview عند استخدام هذا الحدث.
OnKeyUp: يستدعى عندما يضغط المستخدم أي مفتاح بما في ذلك مفاتيح التي لها وظائف خاصة يمكن استعمال هذا الحدث مع OnKeyDown فقط لتنظيم نشاط لوحة المفاتيح كما في الألعاب مثلاً، استخدم القيمة True للخاصة KeyPreview عند استخدام هذا الحدث.
OnMouseDown: يحدث عندما يضغط المستخدم على أي زر للفأرة .
OnMouseMove: يحدث عندما يحرك المستخدم مؤشر الفأرة داخل مساحة النافذة يمكنك تحديد فيما إذا ضغط المستخدم على المفاتيح Alt, Shift, Ctrl .
OnMouseUp: يحدث عندما يرفع المستخدم زر الفأرة .
OnPaint: عندما تحتاج محتويات النافذة للتحديث مثلاً عندما يقوم المتخدم بتحريك نافذة أخرى جانباً أو عندما تتغير موقع أو أبعاد النافذة.
OnShow: يستدعى قبل أن تصبح النافذة مرئية ، استخدم هذا الحدث لتنفيذ ما تريد ظهوره عند ظهور النافذة.