دروس
برمجة الويندوز باستخدام Win32 API function ( الدرس الرابع )

عقارية المدينة 6-12-1430هـ للاعلان جوال 0507445115 حراج سيارات 19-4-1431هـ
افضل و اقوى و احلى و اجمل موقع افلام و فيديو يوتيوب youtube على الاطلاق للاعلان جوال 0507445115 بنات الرياض سعوديات نسائي بناتي حريمي

تابع حالة الطقس في اكبر و اشهر مدن المملكة العربية السعودية | منتديات | مقاطع فيديو تحميل افلام موقع يوتيوب 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,183 مشاهده)
المنظور الفوتوغرافي 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 مشاهده)
اعلانات في الموقع على جميع الصفحات

برمجة الويندوز باستخدام Win32 API function ( الدرس الرابع )



 بسم الله الرحمن الرحيم



 


 



 


في هذا الدرس سنحاول شرح الجزء الخاص بتسجيل النافذة في النظام وعملية انشاءها وعرضها على الشاشة إن شاء الله:



 



((if(!RegisterClassEx(&wcl



 


return 0



 


بما اننا بالخطوات السابقة لهذه الخطوة قد انتهينا من تعبئة الحقول الخاصة بالنافذة الرسومية في المتغير wcl فإنه يجب علينا تسجيل النافذة في نظام التشغيل ( الويندوز) حتى نتمكن فيما بعد من التعامل معها ويسهل على النظام معرفتها، ويتم تسجيل النافذة في النظام من خلال عنوانها لذا فإننا في هذه الحالة نستخدم API function  هي ( )  RegisterClassEx والتي لها متغير واحد هو  pointer to WNDCLASSEX  والذي كنا قد عرفناه سابقا في البرنامج بالمتغير wcl  لذا فإننا نرسله في البرنامج  by refrence  حتى نتمكن من تسجيل النافذة بالمتغير المنشأة به ..وكما نلاحظ بالبرنامج أنه في حال فشل الدالة في التنفيذ وعدم تمكنها من التسجيل في الويندوز فإن البرنامج ينتهي تنفيذه ويغلق.



 




hwnd = CreateWindow (szWinName, "Windows Skeleton Program" , WS_OVERLAPPEDWINDOW , CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, HWND_DESKTOP, NULL, hThisInst, NULL)



 





 


والآن بعد ان انتهينا من تسجيل النافذة في النظام فإننا سنقوم بإنشاءها ولكن مازالت عملية الإنشاء داخل النظام لن يتم عرضها على الشاشة إلا بدالة سنتطرق لها لاحقا، ونستخدم لإنشاء النافذة الدالة ( ) CreateWindow وهذه الدالة لها قيمة مرجعة هي handle  للنافذة التي سننشأها بالخصائص الموضحة كمتغيرات في الدالة ( ) CreateWindow وهو hwnd  أما المتغيرات المرسلة مع الدالة  فهي كالتالي:



 




     



  • szWinName  وهو يمثل اسم window class  والذي ربطناه بالنافذة في السطر الثالث من البرنامج.


  •  



  • "Windows Skeleton Program" وهذه الجملة هي التي ستظهرعلى شريط العنوان للنافذة المنشأة بعد عمل  run  للبرنامج.


  •  



  • WS_OVERLAPPEDWINDOW هذا المتغير نحدد فيه الـ style  الخاص بالنافذة المنشأة وهو هنا بالشكل العام للنوافذ بحيث تظهر النافذة على كل سطح المكتب وتوجد عدة قيم يمكن وضعها بالمتغير السابق للحصول على انواع مختلفة من النوافذ ( بالإمكان مراجعة مكتبة msdn للإطلاع على قيم المتغيرات لانواع النوافذ الممكن ظهورها ) فمن النوافذ التي يمكن إظهارها بطريقة معينة : النافذة في حالة التكبير أوالتصغير أو التي يوجد بها  scrollbar او الخالية من ازارير التصغير والتكبير والإغلاق أو المحتوية على احدها او النافذة في حالة مرئية او غير مرئية للمستخدم.


  •  



  • CW_USEDEFAULT هذا المتغير يمثل إحداثي النقطة  x  في الجهة العليا اليسرى للنافذة وهو يمثل الإحداثي السيني لنقطة البداية لرسم النافذة ونستطيع التعويض هنا بقيمة عددية اما في حال كانت القيمة مساوية لـ CW_USEDEFAULT فإننا نجعل النظام يضع القيمة الإفتراضية للنقطة الموجودة بأعلى جهة اليسار للشاشة.


  •  



  • CW_USEDEFAULT و هذا المتغير يمثل إحداثي النقطة  y  في الجهة العليا اليسرى للنافذة وهو يمثل الإحداثي الصادي لنقطة البداية لرسم النافذة ونستطيع التعويض هنا بقيمة عددية اما في حال كانت القيمة مساوية لـ CW_USEDEFAULT فإننا نجعل النظام يضع القيمة الإفتراضية للنقطة الموجودة بأعلى جهة اليسار للشاشة.


  •  



  • CW_USEDEFAULT و هذا المتغير يمثل عرض النافذة ونستطيع التعويض هنا بقيمة عددية اما في حال كانت القيمة مساوية لـ CW_USEDEFAULT فإننا نجعل النظام يضع القيمة الإفتراضية للعرض الخاص بكامل الشاشة بحيث يبدأ من  x , y  المحددة مسبقا وينتهي عند آخر نقطة بالجهة اليمنى العليا.


  •  



  • CW_USEDEFAULT و هذا المتغير يمثل طول النافذة ونستطيع التعويض هنا بقيمة عددية اما في حال كانت القيمة مساوية لـ CW_USEDEFAULT فإننا نجعل النظام يضع القيمة الإفتراضية للطول الخاص بكامل الشاشة بحيث يبدأ من  x , y  المحددة مسبقا وينتهي عند آخر نقطة بالجهة اليمنى السفلى.


  •  



  • HWND_DESKTOP المتغير السابق يمثل  handle للــ parent  window وفي حالة البرنامج السابق والذي نشرحه فإنه لايوجد لدينا parent window وانما هي هي نافذة واحد فقط لذا استخدمنا القيمة HWND_DESKTOP  والتي تشير الى انه لايوجد parent window  ..والمقصود بمفهوم parent window & child window  هو النافذة التي ينتج عنها نافذة أخرى فالنافذة الرئيسية تسمى parent window  والأخرى الناتجة عنها تسمى child window.


  •  



  • NULL  هذا المتغير يوضع به  handle  للـ  menu  المستخدمة بالبرنامج وبما اننا لم نستخدم  menu في برنامجنا فان قيمة هذا المتغير بـ  NULL.


  •  



  • hThisInst  هذا المتغير يمثل  handle  لنسخة مستخدمة من البرنامج الذي ننشأه.


  •  



  • NULL  هذا المتغير لايهمنا بالبرنامج لأنه لايستخدم إلا في حالة ( multiple document interface ( MDI بينما برنامجنا هو ( single document interface ( SDI.


 



(ShowWindow(hwnd, nWinMode



 


وحتى نستطيع عرض النافذة التي أنشاناها بالنظام فإننا نستخدم  API function  وهي ( )ShowWindow وهذه الدالة لها متغيرين مرسلين الأول هو  handle  للنافذة التي أنشأناها وهو المتغير الذي خرنت فيه القيمة المرجعة من الدالة ( ) CreateWindow  وهو hwnd والثاني  هو الطريقة التي نريد بها عرض النافذة، وتوجد عدة أشكال للنافذة المعروضة يمكنك إنشاءها بتغيير قيمة المتغير الثاني لهذه الدالة.



 


 (UpdateWindow(hwnd



 


وتستخدم الدالة ( ) UpdateWindow لعمل تحديث للنافذة المعروضة وذلك في حالة استقبالها رسالة للتغيير من نظام التشغيل حيث تقوم هي بدورها بإرسال رسالة أخرى للـwindowFunc لتقوم بعملية التحديث للنافذة وهذه الرساله هي WM_PAINT.

درس برمجة الويندوز باستخدام Win32 API function ( الدرس الرابع )

أضف هذه المادة في موقعك:
مواد مشابهة:
درس : كيفية استخدام وظائف API . درس : كيفية استخدام وظائف API .
درس : كيفية استخدام وظائف API .
(مرات المشاهدة: 1,432 مرات)
استخدام تنسيق ويندوز XP مع ادوات التحكم في تطبيقات الويندوز استخدام تنسيق ويندوز XP مع ادوات التحكم في تطبيقات الويندوز
استخدام تنسيق ويندوز XP مع ادوات التحكم في تطبيقات الويندوز
(مرات المشاهدة: 2,560 مرات)
الاختلافات بين برامج الـ DOS وبرامج الـ Windows الاختلافات بين برامج الـ DOS وبرامج الـ Windows
الاختلافات بين برامج الـ DOS وبرامج الـ Windows
(مرات المشاهدة: 2,155 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الثاني ) برمجة الويندوز باستخدام Win32 API function ( الدرس الثاني )
برمجة الويندوز باستخدام Win32 API function ( الدرس الثاني )
(مرات المشاهدة: 724 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الخامس ) برمجة الويندوز باستخدام Win32 API function ( الدرس الخامس )
برمجة الويندوز باستخدام Win32 API function ( الدرس الخامس )
(مرات المشاهدة: 683 مرات)
 التطبيقات العاملة Processes ومسارات التنفيذ Threading التطبيقات العاملة Processes ومسارات التنفيذ Threading
التطبيقات العاملة Processes ومسارات التنفيذ Threading
(مرات المشاهدة: 1,741 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث ) برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث )
برمجة الويندوز باستخدام Win32 API function ( الدرس الثالث )
(مرات المشاهدة: 692 مرات)
اجراءات API و مقدمة عن الرسائل اجراءات API و مقدمة عن الرسائل
اجراءات API و مقدمة عن الرسائل
(مرات المشاهدة: 1,589 مرات)
برمجة الويندوز باستخدام Win32 API function ( الدرس الأول ) برمجة الويندوز باستخدام Win32 API function ( الدرس الأول )
برمجة الويندوز باستخدام Win32 API function ( الدرس الأول )
(مرات المشاهدة: 1,060 مرات)
برمجة الويندوز باستخدام Win32 API function ( مقدمة ) برمجة الويندوز باستخدام Win32 API function ( مقدمة )
برمجة الويندوز باستخدام Win32 API function ( مقدمة )
(مرات المشاهدة: 1,514 مرات)
About
جميع الحقوق في هذا الموقع محفوظة وكل المواد على الاقسام ملك لاصحابها :Copyright © All rights reserved