المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : برمجة في بيئة الويندوز - Intro to Win32 programming in C++


رحيل المشاعر
06-20-2019, 10:33 PM
http://img.dev-point.com/imgcache/2013/10/88871.png







http://img.dev-point.com/imgcache/2013/10/88872.gif

اللهم لك الحمد حمدًا طيّبًا كثيرًا مُباركًا فيه؛
ملء السّماوات وملء الأرض وما بينهما، وملء ما شيئت من شيء بعدهما.

*. أرحب بكم إخواني وأخواتي أعضاء منتدى نقطة التطوير .*

*. أتمنى أن تكونوا في تمام الصحة والعافية.*




http://img.dev-point.com/imgcache/2013/10/88872.gif


الدرس الثاني من البرمجة في بيئة الويندوز - Intro to Win32 programming in C++

---------------------------------------------------------------------------------------------------------------
في الدرس السابق تعلمنا ما معنى API والمتغيرات تكون مختلفه بلاسماء وتسمى Hungarian Notation

في درس اليوم سوف نتعلم ماهيه النوافذ والمقابض
اولا يجب ان تعرف ان مصدر دوال الويندوز هوه نفسه موقع مايكروسوفت Technical documentation, API, and code examples



What Is a Window?



تسمية Windows يعود في الحقيقه الى كلمه Window او نافذه كما في الصوره



https://docs.microsoft.com/en-us/windows/desktop/LearnWin32/images/window01.png


هذا النوع من النوافذ يسمى application window or main window او النافذه الرئيسيه

وهذا نوع اخر من النوافذ


https://docs.microsoft.com/en-us/windows/desktop/LearnWin32/images/window02.png


نعم سوف تلاحظ ان هذا button او زر وتضغط عليه حتى يتم تنفيذ امر ما
لكن بلحقيقه هذا ايضا نافذه

كما تلاحظ يوجد مختلف انواع من النوافذ لهذا من الان عندما تبرمج للويندوز وتسمع او تقراء كلمه نافذه window
فعليك التفكير هكذا



(تكون في جزء معين من الشاشه) Occupies a certain portion of the screen.

(تكون ظاهرة او مخفيه في اي لحظة) May or may not be visible at a given moment.
(النوافذ تعرف كيف ترسم نفسها Knows how to draw itself.
(ترد على المستخدم او النظام) Responds to events from the user or the perating system



Parent Windows and Owner Windows

في النوافذ هناك مسميات قد تكون غريبه لك عند قرائتها لاول مره لكن بعد فهم التسميات سوف تلاحظ لماذا سميت هكذا
يوجد اباء Parents واولاد Child كما تلاحظ في الصوره




https://docs.microsoft.com/en-us/windows/desktop/LearnWin32/images/window04.png



النافذه الرئيسيه تسمى Parent او اب
وبقية النوافذ داخلها تسمى ابناء Child

الابناء دائما تكون داخل الاباء وتكون بموقع معين داخلها

ايضا يوجد نوافذ تابعه لنوافذ اخرى او owned
مثلا رسائل الخطاء او الاشعارات تكون تابعه لنوافذ اخرى مثل ما في الصوره في الاعلى



Window Handles


المقابض عباره عن ارقام تحملها النوافذ فمثلا نريد الوصول الى نافذه معينه وهناك مئات النوافذ فكيف سوف نعرف اي نافذه نريد وكيف نفرق بينهم
هنا جائت فكره المقابض فكل مقبض هوه عباره عن ارقام مسجله داخل النظام ولهذه المقابض متغير معين ويسمى HWND

HWND وتقراء "aitch-wind."


Screen and Window Coordinates

احداثيات الشاشعه تبداء من الزاويه اليسرى في الاعلى وتكون 0,0
ونحن نقوم بتحديد عندما نشغل البرنامج في اي مكان بلشاشه يعمل

ونفس الشيء داخل النوافذ عندما نبرمج ازرار الموقع او الاحداثيات نقوم باختيارها حسب منا نريد كما موضع بلصوره في الاسفل





https://docs.microsoft.com/en-us/windows/desktop/LearnWin32/images/coordinates01.png





WinMain: The Application Entry Point




لكل برنامج هناك نقطه ادخال يبداء منها البرنامج مثلا في السي بلس بلس تكون فونكشن Main اما في نظام ويندوز تكون اما WinMain او wWinMain




C++:
?
1
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow);




نفطة الادخال في ويندوز تاخذ 4 براميترات





hInstance وهيه مقبض خاص بـ instance وهذا النوع يكون مطلوب في بعض النوافذ حتى يحدد اي ايقونه يحمل مع بداء البرنامج
hPrevInstance في وقتنا الحالي لا معنى له لانه كان مطلوب في نظام 16Bit اما اليوم فيكون مصفر
pCmdLine تحمل قيم CMD وتكون Unicode string
nCmdShow هوه علم او Flag يقوم باخبار البرنامج في حال يجب ان يعمل صغير او كبير او طبيعي minimized, maximized, or shown normally
ايضا كما تلاحظ يوجد نوعين من نقاط الادخال WinMain او wWinMain

كما ذكرت في الدرس السابق w تكون تابعه لنظام Unicode وهذا النظام يدعم جميع الاحرف العالميه


هذا كود لبرنامج فارغ في بيئه ويندوز

C++:
? (https://www.dev-point.com/vb/threads/691670/#)
1
2
3
4
5
INT WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR lpCmdLine, INT nCmdShow)
{
return 0;
}






http://img.dev-point.com/imgcache/2013/10/88872.gif

الخل الوفي
06-21-2019, 12:58 AM
انتقاااء راائع ومميز
الله يسعد قلبك
يعطيك العافية

صاحبة السمو
06-21-2019, 01:00 AM
طـرح رآئــع
سلمت آناملك ع الإنتقاء
لاحرمنا الله من عبير تواجدك وجديدك
دمت بسعادهـ بــحـجم السماء
لقلبك طوق آليآسمين ,,~
https://vb.almstba.com/imgcache/almstba.com_1357721192_640.gif

a7ases
06-22-2019, 01:36 AM
سلمت يدآك..على جميل طرحك وحسن ذآئقتك
يعطيك ربي ألف عافيه..
بإنتظار جديدك بكل شوق.
لك مني جزيل الشكر والتقدير لاعدمناك...

هيبة مشاعر
06-22-2019, 03:25 PM
http://www.tra-sh.com/up/uploads/156120486851.gif (http://www.tra-sh.com/up/)

الجنرال
06-25-2019, 06:34 PM
طرح رائع
يعطيك العافيه
على هذا الطرح المميز
وسلمت اناملك المتألقه
تقديري لك

الوافي
06-25-2019, 08:11 PM
طرح رآقي گ روحـگ
لآعدمنا جمآل ذآئقتگ
وبآنتظار جديد آبداعكگ دائمآ
ودي لگ

ام ساره
06-28-2019, 03:32 AM
الله يعطيك العافيه

طرح ممميز
تحياتي

رحيل المشاعر
06-29-2019, 10:40 PM
احساس
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:40 PM
ام
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:40 PM
الخل
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:40 PM
الجنرال
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:40 PM
الوافي
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:41 PM
شموع
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:41 PM
صاحبه
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

رحيل المشاعر
06-29-2019, 10:41 PM
هيا
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

eyes beirut
07-02-2019, 03:41 PM
.

/

تسلم ايدك ع الطرح الانيق

رحيل المشاعر
07-04-2019, 10:11 PM
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

MS HMS
07-07-2019, 11:50 AM
*,

، /،

طرح رآئع وراقي
تحية عطرة ل روحك الجميلة

شكراً لك من القلب على هذآ العطاء
وردة1

شموع الحب
07-08-2019, 02:24 PM
طرحك جميل ومجهود رآئــع
ألف شكـــر لك على إختيارك الموفق
الله يعطيك العافية
أجمل التحايــا

رحيل المشاعر
07-08-2019, 07:01 PM
يعطيك العافيه وتسلم يدينك
لروحك الجوري
ودي

هيبة مشاعر
07-09-2019, 11:45 PM
http://www.tra-sh.com/up/uploads/1562701907721.gif (http://www.tra-sh.com/up/)

ضوء القمر
07-14-2019, 07:59 PM
*,


سلمت الآكف ومَاجلبت
إبداع دآئم وتميز مُستمر
لا عدمنَاك /
:137:

رحيل المشاعر
07-23-2019, 08:27 PM
أج ــمل وأرق باقات ورودى
لردك الجميل ومرورك العطر
تــ ح ــياتيـ لكــ

عبدالعزيز ال شيخ
07-27-2019, 09:49 AM
يعطيك العافيه

رحيل المشاعر
08-03-2019, 06:30 PM
أج ــمل وأرق باقات ورودى
لردك الجميل ومرورك العطر
تــ ح ــياتيـ لكــ