تصميم شريط ريبون احترافي في الاكسيس

شريط الاخبار

تصميم شريط ريبون احترافي في الاكسيس


تصميم شريط ريبون احترافي في الاكسيس,قوائم منسدله, عمل Ribbon Bar بطريقة احترافية

تصميم شريط ريبون احترافي في الاكسيس

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

في اصدار اوفيس 2003 كان من السهل تصميم شريط ادوات يشبه شكل الريبون بشكل مبسط لانه كان بنظام قوائم منسدله مبسطه لكن بدايه من اصدار اوفيس 2007 تطور شكل الريبون ليعطي شكل مصور بالقوائم بشكل احترافي و تم تعديل طريقه تصميمه ليكون بناء علي نموذج بلغه xml
لغه xml    هي لغه تنتمي للغه  HTML و هي شبيه بها في قواعد كتابه اللغه الي حد كبير  و هي اختصار لـ eXtendable Markup Language و هي لغة الترميز القابلة للتوسع . XML صُمّمت لتخزين و نقل البيانات يمكن استخدامها في تصميم بعض البرامج للاندرويد او تصميم المواقع و غيرها
دعنا الان نبدا في تصميم شريط ريبون جديد
في البدايه نحتاج الي اضافه جدولين جدول لحفظ كود xml  و جدول لحفظ الصور المصغره التي نريد وضعها علي الشريط  ( يمكن ان هذه الصور في ملف مستقل خارج قاعده البيانات الا ان هذا الامر قد يؤثر ببعض المشاكل عند محاوله نقل ملف قاعده البيانات من جهاز الي اخر )
سنقوم بانشاء الجدول الاول جدول حفظ كود xml  و سنقوم بحفظه باسم USysRibbons

id
AutoNumber
RibbonName
Text
RibbonXml
Memo  او Long Text

حيث ان RibbonName يمثل اسم شريط الريبون
RibbonXml يمثل مكان حفظ كود xml  و تم وضعه هذا الحقل Memo  او Long Text   حتي يتناسب مع الاكود التي تزيد عن 255 حرف حيث ان short text او text  اقصي قدره استعابيه لها في الاكسيس 255 حرف
 يعد اسم جدول USysRibbons من جدول النظام و بمجرد حفظها لن تظهر بشكل افتراضي و يجب اظهار جداول النظام حتي نستطيع التحكم بها
و اذا اردنا ان يكون شريط الريبون مصور و الصور داخل قاعده البيانات سنقوم باضافه جدول باسم tblImagesRibbons

idImage
AutoNumber
imageRibbon
Attachment

حيث ان imageRibbon من النوع  "Attachment" و ذلك لحفظ الصور داخل القاعده البيانات
يفضل ان تكون صيغه هذه الصور من النوع ico لتكون متناسقه مع شريط الريبون
الان دعنا نتعرف علي كود xml   و طريقه كتابه هذا الكود ليتناسب مع الاكسيس
نبدا بكتابه معرف التالي

<customui loadimage="fncLoadImage" onload="fncRibbon" xmlns="http://schemas.microsoft.com/office/2006/01/customui">

<ribbon startfromscratch="true">

<tabs>

 

<!-- نص الكود هنا -->

</tabs>

</ribbon>

</customui>

و نلاحظ التشابه الكبير في بين لغه xml  و لغه html و طريقه صياغه الاوامر البرمجيه
هذا الوسم يتوافق مع اصدار اوفيس 2010 فيما فوق 

نحتاج طبعا الي بعض الخبره البسيطه في قواعد كتابه لغات xml  او لغه html لنتمكن من كتابه هذا الكود
نقوم باضافه الوسم

  <tab id="MyTab1" label="اسم القائمه">

  </tab>


 و ذلك بعد الوسم tabs  في كل مره نريد اضافه قائمه جديده و لاضافه مجموعه جديده داخل القائمه نستخدم الوسم group و يكون بالصيغه التاليه

<group id="MyGroup1" label="اسم المجموعه">

 </group>

و لاضافه الازرار داخل الجروب نستخدم الوسم  button

<button id="bt1" image="1.ico" label="الاسم الظاهر للزر" onaction="fncOnAction" size="large"></button>

و نلاحظ ان المعامل id   يكون لاعطاء اسم برمجي عند استدعاء هذا الزر برمجيا و يختلف هذا المعامل عن معامل label  فهو للاسم الظاهر للمستخدم النهائي بينما الخاصيه image تستخدم لاضافه صوره علي هذا الزر  و المعامل onAction  يستخدم لحجز متغر في الكود البرمجي عند استدعاء الزر البرمجي او عند الضغط علي هذا الزر  يتم اعطاء ارقام  او اسماء لكل زر بحيث لا يتكرر اي اسم حيث انه في حاله تكرر اي اسم سيتوقف كود xml  و لن يظهر شريط الريبون في التصميم
ليظهر الكود بشكل كامل كما يلي

<customui loadimage="fncLoadImage" onload="fncRibbon" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startfromscratch="true">

 <tabs>

          <tab id="MyTab1" label="الاعدادات">

            <group id="MyGroup0" label="اعدادات">

               <button id="bt00" image="00.ico" label="اعدادات النسخ الاحتياطي" onaction="fncOnAction" size="large">

               </button></group>

         </tab>

</tabs>
</ribbon>
</customui>

يتم تخزين جميع الصور في جدول الصور الذي سبق و ان قمنا بتصميمه tblImagesRibbons
 نحتاج في هذا العمل لاضافه مكتبه برمجيه التي تسهل علي الاكسيس استدعاء الصور من الجداول و يمكن ان نستخدم المكتبه البرمجيه Microsoft office 16.0 object library حيث يمثل الرقم 16 لرقم اصدار الاوفيس و بالتالي سيختلف من اصدار الي اصدار اخر و في حاله عدم عثورنا علي هذه المكتبه البرمجيه يمكن البحث عنها داخل ملفات النظام و هي موجوده ضمن الملف MSO.DLL
نقوم باضافه داله برمجيه لتشغيل ازار شريط القوائم و نستخدم الامر البرمجي Select Case و ذلك للمرور علي كافه ازار التشغيل في الشريط ففي حاله الضغط علي زر يقوم هذا الكود بتحديد الزر و تشغيل الكود الذي يخص هذا الامر

Public Sub fncOnAction(control As IRibbonControl)

Select Case control.Id

    Case "bt0"

    MsgBox "مرحبا"

        Case "bt1"

    MsgBox "22222222"

    Case Else

        MsgBox "عفوا لا تمتلك صلاحيه الوصل " & control.Id, vbInformation, "انتبه"

End Select

End Sub

يمكن استخدام الداله dlookup  لاستخراج الصور من الجدول لاضافتها في الشريط 
يجب تشغيل xml  بمجرد تشغيل قاعده البيانات و اذا قمنا باي تعديل علي هذا الكود لن يظهر تاثير هذا التاثير الا عند اعاده فتح ملف قاعده البيانات من جديد







ليست هناك تعليقات