اعلان

Collapse
لا يوجد إعلان حتى الآن.

التعريب الكامل لتطبيقات فيجوال سي ++ 6.0 ( الجزء الثاني)

Collapse
X
 
  • تصنيف
  • الوقت
  • عرض
Clear All
إضافات جديدة

  • التعريب الكامل لتطبيقات فيجوال سي ++ 6.0 ( الجزء الثاني)



    إضافة الإطار "تلميح اليوم"، إضافة تلميحات الأدوات

    إعداد نبيل حسين مدير شركة عبور النور
    نقلا عن مجلة البي سي

    أنشأنا في الجزء الأول من هذه السلسلة، تطبيقاً متعدد الوثائق (MDI)، باستخدام المعالج MFC AppWizard (exe)، وعربنا واجهة الاستخدام الرئيسية له. سنتابع في هذا الجزء، تطوير تطبيقنا، بإضافة إطار "تلميح اليوم" (Tip of the day)، الذي يظهر فور تشغيله، وسنتعلم كيفية إضافة تلميحات الأدوات (ToolTips)، إلى أدواته.

    إضافة الإطار "تلميح اليوم" Tip of the day))

    تلميح اليوم، إطار (Dialog) يظهر فور تشغيل التطبيق، ليعرض إحدى التلميحات، التي يمكن استخدامها في ذلك التطبيق، لتنفيذ وظيفة معينة، بطريقة أسهل. ومثال على ذلك، إطار "تلميح اليوم" في برامج مايكروسوفت أوفيس، أو الإطار “Tip of the day”، الذي يظهر فور تشغيل فيجوال سي++. توفر لغة فيجوال سي++ طريقة سهلة جداً، لإضافة إطار "تلميح اليوم" إلى برنامجك، وسنشرح ذلك من خلال المثال الذي أنشأناه في الجزء الأول. افتح المشروع الذي نطوره، باختيار Open Workspace...، من قائمة File، ثم اتبع الخطوات التالية:

    1 افتح القائمة Project، ثم القائمة الفرعية Add To Project، وانقر على البند Components and Controls...، فيعرض الإطار Components and Controls Gallery.

    2 انقر نقراً مزدوجاً على المجلد Visual C++ Components، فتظهر محتويات المجلد المذكور

    3 انقر نقراً مزدوجاً على البند Tip of the day، فتظهر رسالة، تسألك إذا ما كنت متأكداً من أنك تريد إضافة العنصر Tip of the day، إلى مشروعك الحالي…انقر على الزر Ok، فيعرض الإطار Tip of the day، الذي يسمح بتعيين اسم الفئة (Class) المسؤولة عن عرض إطار "تلميح اليوم"، وأسماء الملفات الخاصة بتلك الفئة. يمكنك إذا رغبت، تغيير اسم الفئة و أسماء الملفات. انقر بعد ذلك، على الزر Ok، فتعود إلى مربع الحوار Components and Controls Gallery. انقر على الزر Close، لإغلاقه.

    سيظهر ضمن موارد البرنامج (Resources)، بعد إضافة العنصر Tip of the day، صندوق حوار (Dialog box) جديد، يستخدم لعرض التلميحات عند تشغيل البرنامج، وصورة مصباح تُعرض داخل الإطار الخاص بتلميح اليوم، وفئة جديدة CTipDlg. وسيضاف جدول رموز جديد (String Table)، وبعض السطور البرمجية إلى الفئتين CArabicMDIApp، و CMainFrame.

    لن تنوب عنك بيئة التطوير بلغة فيجوال سي++ في توليد التلميحات، لكن إضافتها عملية سهلة، وتتطلب إدخالها في ملف نصي باسم Tips.txt، وحفظه في مجلد ملفات البرنامج، وفي المجلد الفرعي الخاص بالملفات التنفيذية للبرنامج، كالمجلد \Debug. وتستطيع إنشاء ذلك الملف بواسطة أي محرر نصوص، (المفكرة، مثلاً)، أو باستخدام المحرر الخاص بفيجوال سي++. ويمكنك كتابة التلميحات باللغة العربية، مع مراعاة القواعد التالية:

    يجب أن تكون النصوص من نوع أسكي (ASCII)، وأن توضع كل تلميحة في سطر منفصل ينتهي برمز مفتاح العودة (Enter)، الذي يعني البدء بكتابة تلميحة جديدة.

    يعني أي سطر يبدأ بالفاصلة المنقوطة ";" أن ذلك السطر يحتوي على ملاحظات (Comments)، ولا يعتبر جزءاً من التلميحات.

    يقبل وجود السطور الفارغة.

    يجب أن لا يزيد عدد حروف التلميحة الواحدة على 1000 حرف.

    لا يمكن أن تبدأ التلميحة بمسافة (Space)، أو رمز Tab))

    تعرض التلميحات حسب تسلسلها في الملف Tips.txt، ويعاد عرضها من البدء، بعد انتهاء عرضها جميعاً، لكن تعديل ملف التلميحات سيؤدي أيضاً، إلى إعادة عرض التلميحات مجدداً.

    لا يكفي استخدام ملف تلميحات يتضمن نصاً عربياً، للحصول على إطار تلميحات كامل التعريب، إذ يجب تعريب الإطار الخاص بتلميح اليوم، وفقاً للخطوات التالية:

    1 انقر على الشريط Resource View ثم انقر نقراً مزدوجاً على المجلد Arabic MDI resources، وانقر نقراً مزدوجاً على المجلد Dialog، ثم انقر نقراً مزدوجاً على البند IDD_TIP، فيفتح الإطار Tip of the Day جاهزاً للتحرير.

    2 انقر بالزر الأيمن للماوس على شريط العنوان للإطار Tip of the Day، ثم اختر Properties من القائمة المنبثقة، فيظهر الإطار Dialog Properties. انقر على الأيقونة الصغيرة الأولى في أعلى يسار الإطار Dialog Properties، كي يبقى مفتوحاً، ولا يغلق عندما تنقر على أحد العناصر الأخرى.

    3 غير قيمة الحقل Caption، من Tip of the Day، إلى "تلميح اليوم"، ثم اختر الشريط Extended Styles، وعين مربعي الاختيار Right-to-left reading order، وRight aligned text، كي يظهر العنوان "تلميح اليوم"، من الجهة اليمنى.

    4 انقر على النص Some String الموجود في الإطار "تلميح اليوم"، ثم اختر الشريط Extended Styles، ثم عين مربعي الاختيارRight-to-left reading order، وRight aligned text، كي يتم عرض التلميحات من الجهة اليمنى. ستقرأ الفئة CTipDlg إحدى التلميحات من الملف Tips.txt، عندما تنفذ البرنامج، ثم تستبدل النص Some String بها.

    5 انقر على الزر Next Tip الموجود في أسفل الإطار "تلميح اليوم"، ثم اختر الشريط General، وبدل قيمة الحقل Caption من Next Tip& إلى "التلميحة ال&تالية".

    6 انقر على الزر Close الموجود في أسفل الإطار "تلميح اليوم"، ثم اختر الشريط General، وبدل قيمة الحقل Caption من Close& إلى "إ&غلاق".

    7 انقر على مربع الاختيار Show Tips on StartUp الموجود أسفل الإطار "تلميح اليوم"، ثم عين الشريط General، وغير قيمة الحقل Caption، إلى "&عرض التلميحات عند البدء"، ثم اختر الشريط Extended Styles، وعين مربعي الاختيار Right-to-left reading order، وRight aligned text، كي يتم عرض مربع الاختيار من الجهة اليمنى.

    يهدف مربع الاختيار "عرض التلميحات عند البدء"، إلى توفير فرصة للمستخدم لعرض، أو إخفاء إطار "تلميح اليوم"، عند تشغيل البرنامج. فإذا أزال العلامة عن مربع الاختيار المذكور، فلن يظهر إطار "تلميح اليوم" عند بدء البرنامج. لكن، كيف يستطيع المستخدم إظهار إطار "تلميح اليوم" مرة أخرى، كلما شَغّل البرنامج؟

    يضيف العنصر Tip of the day، إلى القائمة Help، البند Tip of the Day...، ليتمكن المستخدم من عرض إطار تلميح اليوم عندما يريد. ويمكن تعريب قيمة هذا البند، بفتح جدول الرموز بالنقر المزدوج على المجلد String Table، والنقر نقراً مزدوجاً على البند String Table، وهو جدول الرموز الجديد الذي أضيف، لدى إضافة العنصر Tip of the day، فيفتح جدول الرموز الجديد، ويصبح جاهزاً للتحرير. اختر جميع الحقول الموجودة فيه، ثم قصها وألصقها في جدول الرموز الأصلي الخاص ببرنامجك String Table [Neutral (Sys. Default])، ثم افتح جدول الرموز الأصلي الخاص ببرنامجك، ونفذ الخطوات التالية:

    انقر نقراً مزدوجاً على البند CG_IDS_TIPOFTHEDAYMENU، وغير قيمة الحقل Caption إلى "تلمي&ح اليوم…"، وهو ما يظهر في القائمة "تعليمات".

    انقر نقراً مزدوجاً على البند CG_IDS_TIPOFTHEDAY، وغير قيمة الحقل Caption، إلى "عرض تلميح اليوم"، وهو الشرح الذي سيظهر في شريط المعلومات، عندما يمر المستخدم على البند "تلميح اليوم…" في القائمة "تعليمات".

    انقر نقراً مزدوجاً على البند CG_IDS_TIPOFTHEDAYHELP، وغير قيمة الحقل Caption، إلى "&تعليمات"، كي يضاف البند "تلميح اليوم…"، إلى القائمة "تعليمات".

    بقي أن تستبدل العبارة Did you know... ، التي تظهر في الإطار "تلميح اليوم" بالعبارة "هل تعلم…"، وتغيير اتجاه عرضها إلى الجهة اليمنى. انقر نقراً مزدوجاً على البند CG_IDS_DIDYOUKNOW، الموجود في جدول الرموز، وغير قيمة الحقل Caption إلى "هل تعلم…"، ويحتاج تغير جهة العرض إلى تغيير السطر البرمجي الأخير في الوظيفة OnPaint() التابع للفئة CtipDlg، بحيث يصبح كما يلي:

    dc.DrawText(strMessage, rect, DT_VCENTER | DT_SINGLELINE | DT_RTLREADING | DT_RIGHT);

    سيعرض البرنامج الذي نطوره، بعد كل هذه الخطوات، إطار "تلميح اليوم" بشكل كامل التعريب.

    إضافة تلميحات الأدوات (ToolTips)

    تلميح الأداة مستطيل صغير يظهر، لمدة ثانية تقريباً، تحت مؤشر الماوس عندما يستقر المؤشر فوق إحدى الأدوات، ليشرح باختصار وظيفة تلك الأداة، أو زر التحكم. وتشمل أزرار التحكم، زري موافق، وإلغاء الأمر، وغير ذلك من الأزرار التي يحتويها برنامجك. سنرشدك في مثالنا التالي، إلى أسلوب إضافة تلميحات إلى الزرين "التلميحة التالية"، و"إغلاق"، ومربع الاختيار "عرض التلميحات عند البدء"، والتي تخص إطار "تلميح اليوم"، وذلك باتباع الخطوات التالية:

    1 افتح القائمة Project، ثم القائمة الفرعية Add To Project، وانقر على البند Components and Controls...، فيظهر الإطار Components and Controls Gallery.

    2 انقر نقراً مزدوجاً على المجلد Visual C++ Components، فتظهر محتويات المجلد المذكور

    3 انقر نقراً مزدوجاً على البند ToolTip Support، فتظهر رسالة تطلب التأكيد على رغبتك بإضافة العنصر ToolTips إلى مشروعك الحالي. انقر على الزر Ok، فيظهر الإطار ToolTips، الذي يطلب تعيين الفئة التي تريد أن تضيف إليها تلميحات الأدوات. عيِّن الفئة CTipDlg، ثم انقر على الزر Ok، فتعود إلى مربع الحوار Components and Controls Gallery، انقر على الزر Close لإغلاقه.

    أضيفت نتيجة ما فعلته في الخطوات السابقة، بضعة سطور، هي: OnInitDialog وPreTranslateMessage، وهي تكفل عرض تلميحات الأدوات، بواسطة الفئة CtoolTipCtrl، التي توفرها مكتبة MFC. وحدث ذلك نتيجة إضافة متغير يدعى m_tooltip من النوع CtoolTipCtrl، إلى الفئة CTipDlg، فإذا فتحت ملف تروسية الفئة TipDlg.h، فستجد السطر التالي، تحت التعليمة " rivate":

    CToolTipCtrl m_tooltip;

    وأضيفت السطور التالية إلى الوظيفة OnInitDialog():

    //Create the ToolTip control
    تبسمك في وجه أخيك صدقة

  • #2

    تعليق

    تشغيل...
    X