روعة يا أخي
API programming
الدرس الثالث: برمجمة متحكمات قياسية (EditBox و Buttons و StaticText).
مفهوم النافذة الأم والنوافذ الأبناء:
عند إنشاء نافذة التطبيق الرئيسية استخدمنا دالة ()CreateWindowsEx, هذه الدالة ترجع رقما يسمى الهاندل Handle يميز هذه النافذة عن غيرها من نوافذ النظام ككل وليس فقط نوافذ التطبيق فقط.
الهاندل له دور هام في الإشارة إلى مجموعة كبيرة من مركبات ونوافذ ومتحكمات في ويندوز, فمعظم دوال Api تعتمد عليه كباراميتر رئيسي للوصول إلى نافذة ما, أو إلى متحكم أو Fonts أو غيرها من المركبات في تطبيقات ويندوز.
من باراميترات الدالة ()CreateWindowsEx نلحظ وجود الباراميتر الثامن من صنف الهاندل HWND سمي ب hWndParent.
وألحقنا به رقم 0.
في ويندوز يوجد ما يسمى بمفهوم الأبوية :lol: علاقة تجمع مابين المركبات المرئية خصوصا, حيث سنجد مركب إبن داخل مركب أب.
لنبين ذلك أكثر حتى يظهر المعنى واضحا:
في ديلفي عند تصميم الواجهة المرئية فإن كل مركب مرئي من قبيل الأزرار مثلا تعد كمتحكمات أبناء والأب هو المتحكم الذي رسم في هذا الزر.
فإذا رسمت Panel1 في نافذة Form1, ثم رسمنا زرا Button1 في النافذة Form1 , ورسمنا بعدها Edit1 و Button2 في Panel1.
فإن Panel1 وButton1 هما ابناء للنافذة الأم form1, وكذلك panel1 يعد متحكم مرئي أب للمتحكمين Edit1 وButton2.
كذلك في Api فإن لكل مركب مرئي يرسم يملك أم أو أب :lol: يحتضنه ويرسم في مساحته.
عندما ألحقنا رقم 0 للباراميتر hWndParent في دالة إنشاء النافذة ()CreateWindowsEx, فإننا ألحقنا به هاندل لمكتب ويندوز او Screen.
X, Y, nWidth, nHeight هي الباراميترات التي تحدد موقع الإبن في مساحة الرسم للأب:

ٌإحداثياث النافذة الرئيسية للتطبيق دائما تحدد بالبيكسل إنطلاقا من النقطة العليا على اليسار لشاشة الحاسب.
نفس الشيء بالنسبة لكل متحكم مرئي إبن سيرسم على مساحة المتحكم الأب. فإن إحداثياث رسمه ستكون نسبية للنقطة العليا على اليسار للمتحكم المرئي الأب:
.
المتحكمات القياسية في ويندوز Standard Controls :
لاتوجد تطبيقات ذات الواجهة الرسومية في ويندوز تملك نافذة عقيمة (لا إبن لها :rolleyes: ) لا تضمن بداخلها بعض المتحكمات الكلاسيكية المعروفة!!
فكل نافذة ستجدها على الأقل تملك زرا أو مربع تحرير أو بعض الصور ,قوائم رئيسية أو منبثقة... فهذه المتحكمات هي التي تضمن تفاعلية وحركية في تعامل المستخدم مع التطبيق.
يمكن أن نلاحظ أن كل متحكم مرئي هو نافذة خاصة ومميزة. فكل ما ينطبق على النوافذ ينطبق ايضا على المتحكمات من إخفاء وإضهار و تغيير الأبعاد و تحريك..إلخ
ففي Api لويندوز كل مركب مرئي يقبل تقريبا كل الدوال الرئيسية التي تنطبق على النوافذ القياسية المعروفة. أول هذه الدوال هي دالة إنشاء النوافذ ()CreateWindows التي تستعمل لإنشاء كل المتحكمات المرئية في ويندوز.
تملك ويندوز تقريبا 15 متحكم قياسي اهمها Edit و Button و Static و ComboBox و ListBox و RichEdit و ScrollBar.
دالة إنشاء هذه المتحكمات تقبل في باراميتر "كلاس الويندوز" كلاس قياسية منشأة سابقا من نظام ويندوز نمرر في باراميتر lpClassName لدالة CreateWindows. كل متحكم يملك خصائص تميزه عن باقي أصناف المتحكمات الأخرى تمرر على شكل ستايلات في dwStyle.
مثال ـطبيقي لاستعمال متحكمات من صنف BUTTON و EDIT و STATIC
هذا مثال تطبيقي عن كيفية أنشاء مجموعة من المتحكمات القياسية ديناميكيا مباشرة بعد نجاح إنشاء النافذة الرئيسية ( النافذة الأم Parent).

نص الكود يوجد بالمرفقات ادناه.( لاحظوا صغر حجم التطبيق مقارنة مع مثيل له إنشا بديلفي :) .)
كان هذا استعراض نظري, و سنعطي شرحا للمثال التطبيقيا في المشاركة المقبلة إن شاء الله.
B)
تم تعديل هذه المشاركة بواسطة ikossan في 16 مايو 2005 في 02:21
سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين
يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.
اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.
الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.
إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.
و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله
أخوكم مراد
اقتباسفي ويندوز يوجد ما يسمى بمفهوم الأبوية علاقة تجمع مابين المركبات المرئية خصوصا, حيث سنجد مركب إبن داخل مركب أب
كذلك في Api فإن لكل مركب مرئي يرسم يملك أم أو أب يحتضنه ويرسم في مساحته
حلوة منك حكاية شجرة العائلة ده
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
مشكور أخي romanof بارك الله فيك.
عندي مجموعة من الوصلات تهتم بالبرمجة باستعمال دوال API فقط لويندوز غير أنها جميعها مكتوبة بلغة سي ونادرا ما تجد بعض الأكواد او أجزاء فقط تهتم ببعض دوال Api في ديلفي.
سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين
يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.
اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.
الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.
إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.
و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله
أخوكم مراد
بارك الله فيك اخي مراد
:rolleyes: :rolleyes: :rolleyes:
الله يعطيك الف عافية
..................بسم الله الرحمن الرحيم..................
وتعاونوا على البر والتقوى ولا تعاونوا على الإثم والعدوان
.............................................................................................................................
سلسلة تعلم برمجة Pascal , تعلم اساسيات الباسكال
التحكم بمنفذ الطابعة عن طريق الدلفي
سلسلة دروس تعلم قواعد بيانات Midas
أفكار سريعة, مجموعة شفرات صغيرة وفاعله لدلفي
كتب + مواقع ::: مراجع مهمة للغة دلفي, مجموعة كتب مجانية + مواقع مفيدة
مكتبه الأكواد, أكواد وبرامج دلفي
.............................................................................................................................

هذا الموضوع مغلق.
