برنس فتوشوب  Pr-Photoshop



انضم إلى المنتدى ، فالأمر سريع وسهل

برنس فتوشوب  Pr-Photoshop

برنس فتوشوب  Pr-Photoshop

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Barabeta.com_5454345
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 2tz3

المواضيع الأخيرة

» المرأة ....... تعرفوا عليها
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالخميس ديسمبر 02, 2010 11:42 am من طرف فافي

» ارتداء الستيانه
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالثلاثاء يونيو 29, 2010 11:34 am من طرف سمسم العراقي

» انضر الى اجمل ما خلقه الله سبحانه وتعالى
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالأربعاء ديسمبر 02, 2009 1:19 pm من طرف سمسم العراقي

» آخر صور للفنان رضى العبد الله
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالسبت أكتوبر 31, 2009 10:28 am من طرف فافي

» سر دمعتي .......
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالجمعة يوليو 17, 2009 6:50 am من طرف mylove

» كليب كامل يوسف ^^ عزابي ^^ حصرياًَ بس مني
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالثلاثاء يوليو 14, 2009 1:34 pm من طرف فافي

» احلى رقصة بالعالم ارجو الرد.....
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالسبت يوليو 11, 2009 7:52 am من طرف فافي

» سؤال يطرح نفسه بقوة ؟؟؟؟؟
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالجمعة يوليو 10, 2009 6:34 pm من طرف سمسم العراقي

» طفل في الهند له ذيل
مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Emptyالجمعة يوليو 10, 2009 6:30 pm من طرف سمسم العراقي

تدفق ال RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 

    مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1

    Admin
    Admin
    Admin
    Admin


    ذكر عدد المساهمات : 47
    نقاط : 22460
    السٌّمعَة : 0
    تاريخ التسجيل : 21/05/2009

    مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1 Empty مثبت:كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1

    مُساهمة من طرف Admin الأربعاء يونيو 03, 2009 5:41 pm

    كيف تصمم شاشة توقف باستخدام فيجوال سي++ ج1

    شاشة التوقف هي عبارة عن برنامج EXE تقريبا عادي يقوم نظام التشغيل بتشغيله عند مرور وقت محدد بدون لمس الجهاز
    مثلا لو اخترت 5 دقائق لتشغيل شاشة التوقف ثم تركت الجهاز لمدة 5 دقائق
    سيقوم الجهاز بتشغيل شاشة التوقف بعد 5 دقائق ثم وبعد 5 دقائق اخرى سيشغلها مرة ثانية ثم ثالثة وهكذا
    وهكذا يتضح الفرق الأول بين البرنامج العادي وشاشة التوقف
    ففي شاشة التوقف يجب ان تضع شيفرة في بداية تشغيل البرنامج لكي تفحص اذا كانت شاشة التوقف شغالة ولا لا
    اذا ما كانت شغالة تتابع البرنامج اما اذا كانت شغالة فعليك عدم المتابعة حتى لا تعمل مرة اخرى وتستهلك الذاكرة وتخرب العرض
    * - يعني هل استطيع ببساطة تغيير لاحقة برنامج EXE إلى SCR ويصبح البرنامج شاشة توقف ؟
    في الواقع نعم اذا عملت ذلك فقط فسيعمل البرنامج كشاشة توقف لكن عند مرور مدة الانتظار سيعمل مرة ثانية وثالثة وهكذا
    جرب ذلك مع اي برنامج لديك
    حول اللاحقة من exe الى scr ثم انقر على البرنامج بالزر الأيمن واختر install ثم افتح خصائص العرض واذهب الى شاشة التوقف
    وستكتشف هنا بنفسك الفرق الثاني بين البرنامج العادي وشاشة التوقف
    اين؟
    عندما تضغط على زر اعدادات أو setting ستجد ان شاشة التوقف التي هي برنامج بدأت بالعمل
    اذا ما هو الفرق الثاني
    الفرق الثاني انك يجب ان تعدل في بداية تشغيل البرنامج ليفحص بارامترات التشغيل ويعرف من الذي يستدعيه
    فاذا كان الاستدعاء من النظام للتشغيل او للعرض دعه يعمل والا اذا كان لاجل تغيير الاعدادات فعليك اظهار نافذة لتغيير الاعدادات
    والفرق الثالث سيظهر بعد تشغيل البرنامج على شكل شاشة توقف
    ستجد انه لن يتوقف عند تحريك الفارة
    وهذه يجب حلها بوضع اوامر لايقاف البرنامج عند قدح اي حدث من المستخدم كتحريك الفارة او الضغط على زر في لوحة المفاتيح
    وهكذا تصبح شاشة التوقف جاهزة
    الآن دعونا نصمم شاشة توقف بسيطة تظهر دائرة تتحرك في الشاشة كانها كرة مثلا

    ولاجل ذلك اخترت العمل في MFC مع انه يفضل العمل بدون استخدام الـ MFC لشاشة التوقف لكني اخترتها لسهولة توضيحها
    وايضا لن نعمل هنا الآن نافذة اعدادات لان وضعها سيتطلب حفظ الاعدادات التي اختارها المستخدم في الريجستري مثلا لاستخدامها دائما
    وهذا ليس الموضوع الذي اخترته الآن
    ايضا احب قبل ان ابدأ ان اشير الى ان الطريقة التي ستجدها تحت ليست هي الافضل بشكل عام
    فالافضل فصل النافذة الرئيسية لساسة التوقف عن نافذة الاعدادات بتعريف متغير من نوع CWnd مثلا وذلك يسهل عليك عرض شاشة التوقف في اي مكان
    وباي حجم خصوصا الحجم المصغر
    وكذلك يساعدك على التقاط الاحداث الناتجة عن تحريك الفارة بدون ما تصادر تحركات الفارة
    لكني هنا قررت التركيز على النقاط الرئيسية
    ووضعت هذه الملاحظة لمن هم عارفين بالموضوع ويمكن اعرف مني أكيد لكي لا يفهموني غلط
    وارحب بمشاركاتهم وبالامثلة التي عندهم ايضا
    ايضا اريد ان اشير الى انه قد لا يكون هناك كبير فائدة سوقية لشاشة التوقف الا ان تكون اعلانية مثلا او ما الى هنالك
    لكن مع ذلك فالموضوع قد يكون ممتع للبعض ممن يحبون عمل الاشياء بايديهم
    طولت عليكم بالكلام
    توكلنا على الله :
    بسم الله الرحمن الرحيم
    شغل برنامج فيجوال ستديو اختر الأمر new فيظهر معالج انشاء مشروع جديد ومنه اختر انك تريد عمل مشروع من نوع MFC
    وسميه Del19 (لماذا هذا الاسم لا اعرف انها مجرد عادة مشيت عليها في تسمية برامجي واعلم انها عادة غلط لان الاسم من الافضل ان يشير الى محتوى البرنامج)
    ثم اضغط next
    في النافذة التالية اختر انك تريد انشاء برنامج من نوع dialog ثم اضغط Finesh مباشرة
    سيفتح امامك نافذة تصميم صندوق الحوار
    قم بمسح النص الموجود بوسطها وعدل من حجمها قليلا ثم اتركها
    الآن دعونا نصمم الحركة المطلوبة
    لا اعلم هنا هل اشرح كيفية تصميم الحركة ام نعتمد على انك تعرف ذلك سنعتمد انك تعرف ذلك وندع شرحها لعند السؤال عند ذلك
    عموما من أجل الحركة اضف المتغيرات التالية الى الصف CDel19Dlg :
    C++ كود

    _________________________________________________________


    BOOL m_bTrue;
    CBitmap* m_bmOld;
    POINT m_ptCorIn;
    POINT m_ptVerIn;
    POINT m_ptVerOut;
    POINT m_ptHorIn;
    POINT m_ptHorOut;
    int m_iXSpeed;
    int m_iXStart;
    POINT m_ptCorPos;
    int m_iYTime;
    int m_iXTime;
    CSize m_szConstDcSz;
    CDC m_dcConst;


    _________________________________________________________
    يمكنك نسخها كلها من هنا ولصقها في اي قسم public من تعريف الصف المذكور.
    الآن اين ستبدأ الحركة لنضعها مبدأيا في دالة وسميها IntialMove() ضعها في الصف CDel19Dlg
    وعدلها لتصبح بالشكل: في الدالة OnInitDialog في الصف نفسه
    حرر الدالة السابقة مضيفا اليها الاسطر التالية بعد عبارة todo// لتصبح بالشكل :
    C++ كود
    _________________________________________________________
    // TODO: Add extra initialization here

    srand((unsigned)time(NULL));
    m_szConstDcSz.cx=5;
    m_szConstDcSz.cy=30;
    m_iXTime=(rand() % 50);
    m_ptCorPos.x= (rand() % 700) + 5;
    m_iXSpeed=5;
    m_iXStart=m_ptCorPos.x - 5 * m_iXTime + 5;
    m_iYTime=0;
    m_ptCorPos.y=520;
    CClientDC dc(NULL);
    m_dcConst.CreateCompatibleDC(&dc);
    m_bTrue=TRUE;
    CBitmap bit;
    bit.CreateCompatibleBitmap(&dc,50+2*m_szConstDcSz. cx,50+2*m_szConstDcSz.cy);

    m_bmOld=m_dcConst.SelectObject(&bit);

    m_dcConst.BitBlt(0,0,50+2*m_szConstDcSz.cx,50+2*m_ szConstDcSz.cy,&dc,m_ptCorPos.x , m_ptCorPos.y,SRCCOPY);

    SetTimer(IDC_TIMER,50,NULL);
    return TRUE; // return TRUE unless you set the focus to a control

    _________________________________________________________
    يـتبع

      الوقت/التاريخ الآن هو السبت نوفمبر 23, 2024 3:13 am