تابع حالة الطقس في اكبر و اشهر مدن المملكة العربية السعودية | منتديات | مقاطع فيديو تحميل افلام موقع يوتيوب youtube العاب بنات hguhf fkhj | تحميل صور jpldg w,v | بلاك بيري | بنات السعودية | قصص بنات
|
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد
اكثر المحتويات زيارة
الدوال في الاكسل (14,836 مشاهده)
تعريف الفن التشكيلي: (14,801 مشاهده) ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (10,761 مشاهده) دروس في الأوفيس الأكسس - Access0- (10,234 مشاهده) أنواع العلاقات وطريقة الربط بين الجداول. (10,165 مشاهده) شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (7,341 مشاهده) تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (7,336 مشاهده) ما هي شبكة الانترنت: (6,452 مشاهده) الدرس الثالث : بعض تطبيقات الدوال في اكسل (6,207 مشاهده) تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (6,189 مشاهده) اضافه صوت ونص لخلفيه في باور بوينت (6,181 مشاهده) المنظور الفوتوغرافي Perspective Drawing (6,131 مشاهده) ما هو برنامج الاكسل -00 (5,994 مشاهده) أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (5,752 مشاهده) الدرس الثاني : عمل خلفيات ملونة لشرائح (5,534 مشاهده) نظام التشغيل (Windows) (5,526 مشاهده) الدرس الأول : عمل شريحة في البوربوينت (5,431 مشاهده) الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (5,426 مشاهده) لإجراء العمليات الحسابية (4,946 مشاهده) مقدمة عامة حول الاكسل وحيل خاصة بالاكسل0-- (4,914 مشاهده) دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (4,870 مشاهده) كيفية تنصيب Turbo C++ وتشغيل برنامج بلغة السي عليه!- (4,829 مشاهده) vالدرس الأول : عمل شريحة في البوربوينت (4,819 مشاهده) الدرس الثالث: كيفية عمل مراحل انتقالية للشرائح (4,810 مشاهده) اضافة الحركات للصور والنصوص (4,744 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (2,360 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (1,776 مشاهده) ضبط خيارات اللغة فى الـ Microsoft Word0--- (2,190 مشاهده) استخدام لوحة المفاتيح في الـ Word0---- (2,383 مشاهده) إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (2,320 مشاهده) دمج المراسلات0-- (1,428 مشاهده) وضع صورة كخلفية للنص0-- (1,870 مشاهده) السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (1,447 مشاهده) كتابة الأرقام الكسرية ورموز المعادلات0-- (2,057 مشاهده) درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (1,612 مشاهده) دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (4,870 مشاهده) دورة الأكسيس : الدرس الرابع : العلاقات0---- (2,661 مشاهده) أساسيات في Access0--0 (2,376 مشاهده) تصميم تقرير لطباعة البيانات0---- (2,233 مشاهده) تصميم نموذج استعراض البيانات0--تصميم نموذج استعراض البيانات0-- (1,993 مشاهده) تصميم نموذج إدخال البيانات0--- (2,240 مشاهده) إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (1,928 مشاهده) خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (1,440 مشاهده) خطوات إنشاء الماكرو في تذييل النموذج (1)0- (1,510 مشاهده) استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (2,102 مشاهده) استعلامات SQL في Access - تحديث البيانات الجدولية0-- (1,713 مشاهده) الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (1,169 مشاهده) الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (1,315 مشاهده) تصميم تقرير لطباعة الإجمالي0--- (1,420 مشاهده) استعلامات التحديد Select Query مع أمثله (1)0--- (1,876 مشاهده) |
دروس > البرمجة تحت وندوز بواسطة دوال ال win API > برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث )
اعلانات في الموقع على جميع الصفحات
برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث )
بسم الله الرحمن الرحيم
في هذا الموضوع سنكمل شرح الكود الخاص بالبرنامج وسنلم بالجز الخاص بتعبئة الحقول الموجدة بالمتغير wcl المعرف من نوع WNDCLASS structure ونبدأ بالسطر:
wcl.cbSize=sizeof(WNDCLASS)
وهنا نحن نحدد حجم المتغير بالبايت وذلك بالدالة ( )sizeof والذي يتم التخزين على اساسه بالذاكرة.
wcl.hInstance = hThisInst
الحقل hInstance يتم تعيينه بـ hThisInst والذي سبق ووضحت أنه handle للبرنامج الحالي الذي ننشأه وذلك لربطه بالمتغير wcl الخاص بالنافذة المنشأة.
wcl.lpszClassName = szWinName
نحدد في السطر السابق اسم الــwindow class الخاص بالنافذة التي ستُنشأ والذي سبق وحددته بالمتغير szWinName في ثالث سطر بالبرنامج.
wcl.lpfnWndProc = WindowFunc
بالنسبة للحقل lpfnWndProc ففيه يتم تخزين عنوان الـwindow function والتي نتعامل معها بالبرنامج وتستقبل الأوامر من نظام التشغيل (الويندوز) والدالة ( )WindowFunc لاتُعد دالة قياسية وموجودة بالمتكتبة windows.h وانما بالإمكان تغيير اسمها كما تشاء ولكن يجب أن تراعي إبقاء القيمة المرجعة ونوعها والمتغيرات المرسلة كما هي.
wcl.style = 0
الحقل style يحدد الـclass style المعرفة بالبرنامج ومنها عدة انواع بإمكانك الإطلاع عليها في مكتبة msdn وفي حال رغبتك بعدم تحديد style معين فإنه يمكنك مساواتها بالصفر كما هو في برنامجنا.
wcl.hIcon = LoadIcon(NULL,IDI_APPLICATION)
(wcl.hIconSm= LoadIcon(NULL,IDI_WINLOGO
قبل الحديث عن السطرين السابقين ينبغي التنبه إلى ان الأيقونات في الويندوز تأتي بنوعين :
نعود للسطرين السابقين والتي تمكنا من تغيير هاتين الأيقونتين فبالنسبة للـ small icon فإنها يُعبر عنها بالحقل hIconSm أما الـ standard icon فيُعبر عنها بالحقل hIcon وحتى نستطيع تغيير إحداهما فإننا نحتاج الـى API function هي ( ) LoadIcon وهذه الدالة لها متغيرين المتغير الأول يحدد handle للـ module الذي يحتوي على الأيقونة التي صممناها بغرض عرضها في البرنامج (في حال رغبة المبرمج بتصميم ايقونة خاصة به) أما في حال رغبة المبرمج في استخدام الايقونات الموجودة والمبنية في نظام الويندوز فإنه يجعل قيمة هذا المتغير تساوي NULL كما هو الحال في البرنامج الذي نشرحه.
والمتغير الثاني للدالة ( ) LoadIcon هو من نوع (( constant pointer to string (LPCSTR) وبه نحدد اسم الأيقونة المراد عرضها.
wcl.hCursor= LoadCursor(NULL, IDC_ARROW)
اما الحقل hCursor فهو handle يتم بواسطته تحديد شكل مؤشر الفارة وذلك بإستخدام API function هي ( ) LoadCursor وهذه الدالة لها متغيرين وهما كالمتغيرين السابق توضيحهم مع الدالة ( ) LoadIcon بحيث أن المتغير الأول يحدد handle للـ module المحتوي على على شكل مؤشر الفارة التي صممناها بغرض عرضها في البرنامج ( في حال رغبة المبرمج بتصميم مؤشر فارة خاص به ) أما في حال رغبة المبرمج في استخدام المؤشرات الموجودة والمبنية في نظام الويندوز فإنه يجعل قيمة هذا المتغير تساوي NULL كما هو الحال في البرنامج الذي نشرحه.
والمتغير الثاني للدالة ( ) LoadCursor هو من نوع (( constant pointer to string (LPCSTR) وبه نحدد اسم مؤشر الفارة المراد عرضه ..
wcl.lpszMenuName = NULL
الحقل lpszMenuName ( الجزء الأول من اسم الحقل lpsz يُعتبر من الإختصارات المستخدمة في مايكروسوفت وتعني long pointer to string end with zero  
wcl.cbClsExtra = 0
wcl.cbWndExtra = 0
السطرين السابقين ليسا ذا اهمية في شرح البرنامج ولكن بالنسبة للسطر الأول فإنه يحدد به عدد البايت الإضافية التي قد تأخذها window class structure وعادة فان نظام الويندوز يعطي الحقل cbClsExtra قيمة افتراضية وهي الصفر ... اما السطر الثاني فهو يحدد به عدد البايت الإضافية التي قد تأخذها window instance وكذلك فان نظام الويندوز يعطي الحقل cbWndExtra قيمة افتراضية وهي الصفر ...
wcl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH)
بالنسبة للحقل hbrBackground هو handle لصنف الفرشاة المستخدمة لتعبئة لون الخلفية للشاشة وحتي نتمكن من استرجاع handle للفرشاة المستخدمة للتعبئة فإننا نستخدم API function هي ( ) GetStockObject وهذه الدالة لها متغير واحد فقط هو اللون المراد التعبئة به وهذا اللون موجود ضمن قائمة من الألوان المسموح بها في نظام الويندوز او يمكن للمبرمج إنشاءه عندما يفهم وظيفة الدالة GetStockObject جيدا ويقرأ عنها المزيد .
وبالتالي نكون قد انتهينا من شرح الجزء الخاص بتعبئة حقول النافذة وفي الدرس القادم ان شاء الله سنتطرق لتسجيل النافذة في النظام لتكون معرفة لديه وكذلك عملية انشاءها. درس برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث )
أضف هذه المادة في موقعك:
مواد مشابهة:
|
||||||||||||||||||||||







نجعل قيمته تساوي الـ