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

تصميم شريط ريبون احترافي في الاكسيس – بايقونات احترافيه في الاكسيس
يتم اضافه شريط ريبون لاعطاء البرنامج شكل احترافي مبسط لسهوله الاستخدام من قبل المستخدم النهائي للبرنامج
في اصدار اوفيس 2003 كان من السهل تصميم شريط ادوات يشبه شكل الريبون بشكل مبسط
لانه كان بنظام قوائم منسدله مبسطه  لكن بدايه من اصدار اوفيس 2007 تطور شكل الريبون ليعطي شكل مصور بالقوائم بشكل احترافي و تم تعديل طريقه تصميمه ليكون بناء علي نموذج بلغه xml

لغه xml

هي لغه تنتمي للغهHTML و هي شبيه بها في قواعد كتابه اللغه الي حد كبير و هي اختصار لـ eXtendable Markup Language و هي لغةالترميز القابلة للتوسع . XML صُمّمت لتخزين و نقل البيانات يمكن استخدامها في تصميم بعض البرامج للاندرويد او تصميم المواقع وغيرها

دعنا الان نبدا في تصميم شريط ريبون جديد

في البدايه نحتاج الي اضافه جدولين جدول لحفظ كود xml و جدول لحفظ الصور المصغره التي نريد وضعها علي الشريط( يمكن ان هذه الصور في ملف مستقل خارج قاعده البيانات الا ان هذا الامر قد يؤثر ببعض المشاكل عند محاوله نقل ملف قاعده البيانات من جهاز الي اخر )
  1. سنقوم بانشاء الجدول الاول جدول حفظ كود 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 xmlns="http://schemas.microsoft.com/office/2006/01/customui"
onLoad="fncRibbon"
loadImage="fncLoadImage">
<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
<button
id = "bt1"
label = "الاسم الظاهر للزر"
image="1.ico"
size="large"
onAction = "fncOnAction"
/>
و نلاحظ أيضا ان المعامل id يكون لاعطاء اسم برمجي عند استدعاء هذا الزر برمجيا و يختلف هذا المعامل عن معامل label فهو للاسم الظاهر للمستخدم النهائي بينما الخاصيه imageتستخدم لاضافه صوره علي هذا الزر و المعامل onActionيستخدم لحجز متغر في الكود
البرمجي عند استدعاء الزر البرمجي او عند الضغط علي هذا الزريتم اعطاء ارقام او اسماء لكل زر بحيث لا يتكرر اي اسم حيث انه
في حاله تكرر اي اسم سيتوقف كود
xml و لن يظهر شريط الريبون في التصميم ليظهر الكود بشكل كامل كما يلي
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
onLoad="fncRibbon"
loadImage="fncLoadImage">
<ribbon startFromScratch="true">
 <tabs>
          <tab id="MyTab1"
               label="الاعدادات">
            <group id="MyGroup0"
                   label="اعدادات">
                        <button
                        id = "bt00"
                        label = "اعدادات النسخ الاحتياطي"
                        image="00.ico"
                        size="large"
                        onAction = "fncOnAction"
                        />
            </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 بمجرد تشغيل قاعده البيانات
و أذا قمنا باي تعديل علي هذا الكود لن يظهر تاثير هذا التاثير الا عند اعاده فتح ملف قاعده البيانات من جديد

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني.