اجعل رورو44 صفحتك الرئيسية | احفظ رورو44 في مفضلتك | ارسل رورو44 إلى صديقك | أعلن على رورو44 | English Interface

 

 

 

شات خدمات مسجات جوال بطاقات رسائل حب دليل مواقع شات خليجي  دردشة منتديات حسناء الفارس عالم الرومانسية

مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية

 
    دروس في لغات البرمجة   فيجوال سي ++ - ++ Visual C
 

 

كيف تقوم بأضافة دائما فى المقدمة أو Always on top لبرنامج مكتوب بالفيجوال سى برمجيا الجزء الثانى



 

والآن لماذا إخترنا Check Box والسبب أن هذه الدالة لها حالتين حالة عند وجود علامة صح بجوارها وحالة أخرى عن عدم وجود هذه العلامة بجوارها فمثلا عند وجود علامة الصح هذا معناه أن البرنامج سيكون أعلى كل التطبيقات بمعنى أن أى برنامج سيعمل سيكون برنامجنا فوقه (ظاهر على الشاشة دائما)

أما فى الحالة الأخرى فأن أى برنامج أخر سيعمل بعد برنامجنا سيكون هو بالأعلى.

والآن يجب أن نعطى لأداة الCheck Box إسم متغيير من أجل حساب هل الأداة عاملة (بجوارها علامة صح) أم لا هذا من خلال النقر نقرتين (Double Click )+الضغط على )Ctrl) فى نفس الوقت أى Ctrl+(Left mouse button Double Click) أو من طريق أخر

إضغط على (Ctrl+W) من لوحة المفاتيح لتفتح MFC ClassWizard ثم تأكد أنك على Member Variables وأختار IDC_TOP من Control IDs ثم إضغط على زر Add Variables 

ستفتح لك نافذة Add Member Variable ثم أدخل فى خانة Member variable name إسم متغير وليكن m_top وتأكد من أنه من النوع Value بداخل Category وهذه القيمة من نوع BOOL بداخل Variable type ثم إضغط على OK لتعود الى بيئة العمل أنظر الأشكال

 

شكل(15)

 

شكل(16)

 

شكل(17)

 

وبهذا تكون الأداة جاهزة للعمل ولكن يتبقى لنا الكود ..

والآن أنقر كليك مزدوجة أو Double click على ال Check Box من أجل إضافة دالته الى الكود ثم أضغط على Ok أو من طريق اخر أضغط على (Ctrl+W) من لوحة المفاتيح لتفتح MFC Class Wizard ثم تأكد انك على Message Maps

 

شكل(18)

 

شكل(19)

 

ملاحظة

يجب أن تتأكد من أن Class name هو CAlwaysontopDlg لأن فى هذا البرنامج يوجد

CAlwaysontopDlg و CAlwaysontopApp و CAboutDlg وأى واحدة فيهم غير CAlwaysontopDlg ستؤدى الى فشل البرنامج أى عدم الحصول على الهدف المطلوب

 

ثم اختر IDC_TOP من Object IDs ومن ال Messages اختر BN_CLICKED ثم إضغط على زر Add Function لإضافة الدالة الى الكود ثم أضغط على OK

كما هو بالشكل

 

شكل(20)

 

ثم أضغط على Edit Code سينقلك الفيجوال سى الى المنطقة التى سنكتب فيها الكود والى المكان التى ستكتب الكود فيه بالتحديد

 

ملاحظة

لو فقدت مكان إضافة الكود تأكد من انك بداخل الملف AlwaysontopDlg وأبحث عن الدالة void CAlwaysontopDlg::OnTop

للوصول الى الملف AlwaysontpDlg من FileView أنظر أول الدرس لمعرفة ما هى FileView فى حالة نسيانها أنقر على Alwaysontop files نقره مزدوجه ثم أنقر على Source files نقره مزدوجة أيضا ثم على AlwaysontopDlg.cpp نقره مزدوجه ليفتح لك ملف الكود وأبحث بداخله عن دالة void CAlwaysontopDlg::OnTop()

قم بمسح السطر TODO: Add your control notification handler code here// لأنه عباره عن ملاحظة أن هذا المكان لأضافة الكود لهذه الأداة

ثم أضف الكود التالى

 

الشكل(21)

 

الشكل(22)

 

ملاحظة

أضف السطور التى باللون الأحمر فقط لأن باقى الأسطر ستجدها مكتوبه

ثانيا آسف لإطالة الدرس ولكنى أريد أن يتعلمه حتى الذى لا يعرف شئ عن الفيجوال سى

والأن لحظة الأكود اللحظة التى ينتظرها كل من المبتدئ والمتوسط والمتقدم فى الفيجوال سى

 

void CAlwaysontopDlg::OnTop()
{

CRect rect;
GetWindowRect(rect);
UpdateData(TRUE);
if(m_top==TRUE)
::SetWindowPos(
m_hWnd , // handle to window
HWND_TOPMOST, // placement-order handle
rect.left, // horizontal position
rect.top, // vertical position
rect.Width(), // width
rect.Height(), // height
SWP_SHOWWINDOW // window-positioning options
);
else
::SetWindowPos(
m_hWnd , // handle to window
HWND_NOTOPMOST, // placement-order handle
rect.left, // horizontal position
rect.top, // vertical position
rect.Width(), // width
rect.Height(), // height
SWP_SHOWWINDOW // window-positioning options
);
}

ففى الحالة الأولى يجعل النافذة دائما فى الأعلى (حالة وجود علامة الصح امام الأداة)

وألا فى الحالة الثانية يعود للحالة الطبيعية حالة أن أى برنامج يفتح بعد برنامجنا يكون هو الأعلى (حالة عدم وجود علامة الصح امام الأداة)

والآن لننفذ البرنامج

ملاحظة

يوجد حالتين لدينا عند تنفيذ البرنامج

الأولى وهى البدائية بالنسبة لبرنامج الفيجوال سى وهى حالة Debug وهو أن الفيجوال سى يعتبر ملف ال EXE أو التنفيذى تحت الأختبار لذلك من مشاكله انه لو نقل هذا البرنامج الى جهاز لا يوجد عليه الفيجوال سى لن يعمل لذلك عندما تتاكد من أنتهاء البرنامج أو من الأن يجب عليك التحول الى حالة ال Releaseعن طريق

من قائمة Build اختار Set Active Configuration ستظهر لك نافذة Set Active Project Configuration أختار من قائمة Project Configuration الأختيار Alwaysontop - Win32Release ثم أضغط على Ok

 

الشكل(23)

 

الشكل(24)

 

والأن الى تنفيذ البرنامج

لتنفيذ البرنامج أما أن تضغط على مفتاحى Ctrl+F5 من على لوحة المفاتيح أو أنقر على رمز ! من على Build Mini Bar من على ال ToolBar او من قائمة Build أختار Execute Alwaysontop.exe أنظر الأشكال

 

الشكل(25)

 

الشكل(26)

 

وبهذا نكون قد حصلنا على برنامجنا يمكنك الأستفاده من هذه الخاصية Always on top فى برامجك

 

ملاحظة نهائية

أدرجنا تعريف المتغيير CRect rect; داخل ملف AlwaysontopDlg.cpp وهذا عادى ولكن بعض الأراء تقول أن ملفات الرأس أو Header files فى بيئة السى عموما تعتبر للمتغيرات وملفات CPP للدوال ولكن لا مانع من أضافة المتغييرات داخل ملفات CPP ولو أردنا وضع المتغير داخل ملف الرأس اولا يجب مسح هذا المتغير من ملف CPP ثم أفتح الملف AlwaysontopDlg.h أنظر طريقة الوصول الى AlwaysontopDlg.cpp سابقا ولكن بدلا من الدخول على Source files سندخل على Header files ثم أبحث عن كلمة Public:

Public:

CRect rect;

CAlwaysontopDlg(CWnd* pParent = NULL); // standard constructor

كما هو موضح بالشكل

 

الشكل(27)

 

وفى النهاية اتمنى من الله ان أكون قد وفقت فى الشرح



المزيد من المواضيع

الدرس الثاني
كيفية عمل ارتباط بالبريد الألكترونى وموقع على الانترنت - الجزء الثاني
كيفية عمل ارتباط بالبريد الألكترونى وموقع على الانترنت - الجزء الاول
استخدام فصيلة CRectTracker
كيف تقوم بأضافة دائما فى المقدمة أو Always on top لبرنامج مكتوب بالفيجوال سى برمجيا الجزء الأول
جعل البرنامج Always on top برمجيا بالفيجوال سى 6
جعل البرنامج Always on top برمجيا بالفيجوال سى 6
البداية مع VC++6

1

 

الاقسام الرئيسية

دروس للمبتدئين

--

دروس في أنظمة التشغيل

--

دروس في الانترنت

--

دروس في لغات البرمجة

--

دروس في برمجة المواقع

--

دروس في الأوفيس

--

دروس في الرسوم و التصميم

--

دروس في قواعد البيانات

--

دروس في الألعاب والبرامج

--

دروس في المكونات الصلبة

--

دروس في الشبكات

--

دروس في أمن المعلومات

--

دروس في الذكاء الاصطناعي

--

القائمة البريدية

  فضائح | ماسنجر | تداول | الحياة الزوجية | عجائب وغرائب| دروس تعليمية | عالم حواء | فضائح الفن | ستار اكاديمي | نكت | برامج | صور | | شات سعودي | شات عربي | ماسينجر | مسجات | دليل مواقع | دليلك | مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية | دردشة خليجية | دردشة سعودية | دردشة عربية | شات صوتي | دردشة صوتية | دردشة كويتية | دردشة اماراتية | دردشة عمانية | دردشة قطرية | دردشة بحرينية | دردشة عراقية | دردشة يمنية | سكس | طريق الاسلام, انا مسلم , طريق الهدايه , مسلمون , منوعات اسلاميه | اسلاميات , برامج اسلامية , منوعات اسلامية | جنس | الاسرة المسلمة , الاسرة العربية , اسرتي , عائلتي | برامج الاسره , نصائح معلومات , اسرة عربية سعودية خليجية | دروس تعليمية , مكتبة الدروس التعليمية | شروح برامج , شرح برامج , دورات تعليميه | طب وصحه - المركز الطبي | طبيبك على الانترنت , معلومات طبية , معلومات صحيه

Roro44.com xml :                            

شات سعودي | شات عربي | شات خليجي | العاب | دردشات | العاب بنات

 |  اشهر موقعك | احصائيات الموقع | اسعار الاعلانات |  لمراسلة الإدارة  |

:: ©2007-2003 www.roro44.com All rights reserved ::