الخلاصة:ويندوزXP له تنسيق و شكل خاص و مميز يختلف كلياً عن الإصدارات القديمة.

السؤال الذي يطرح نفسه: كيف استطيع انشاء أدوات تحكم ببرنامج بنفس التنسيق ؟ كل هذاتستطيع عمله باعداد ملف مصدري و بعض الأمور الأخرى. الدرس يتكلم عن كيفية دمج تنسيق الويندوز بالبرنامج المراد عمله بـC#.NETأوVB.NET

ملاحظة:هذه الخصائص التي تشرح بالدرس تطبق فقط على البرامج التي تشتغل تحت نظام ويندوزXP فقط!

البداية

سوف نشاهد الفروقات بين التطبيق قبل الإعداد و التطبيق بعد استخدام الدرس عليه:

نشاهد التطبيق بالشكل القديم تحت نظام ويندوز XP.

نشاهد التطبيق بالشكل الجديد تحت نظام ويندوز XP.

كيف يشتغل التطبيق ؟

أدوات التحكم تأخذ تنسيق ويندوزXP حالما تم تغيير تنسيق الويندوز. و نعتمد بالدرس علىالإصدار السادس ( 6 ) منComctl32.dll. و هنا جميع أدواتالتحكم التي سوف يتم تغيير شكلها حالما يكونComctl.dllموجود و بالإصدار السادس:

TextBox control

ListView control

RichTextBox control

TreeView control

HScrollBar control

DateTimePicker control

VScrollBar control

MonthCalendar control

ProgressBar control

Splitter control

TabControl control

TrackBar control

MainMenu control

StatusBar control

ContextMenu control

ToolBar control

ComboBox control

TreeView control

DataGrid control

ListView control

ListBox control

بالنسبة لأدوات التحكم الأخرى التي نستخدمها من: System.Windows.Forms.ButtonBase( مثل: Button,RadioButton,GroupBoxandCheckBox) فلها خاصية الـ FlatStyleو هذه الخاصية ترسم أدوات التحكم بالطرق التالية:

الوصف

قائمة الأعضاء

أداة التحكم تكون مسطحة

Flat

أداة التحكم تكون مسطحة و عندما تقع الفارة على الأداة تصبح ثلاثية الأبعاد

Popup

أداة التحكم تكون ثلاثية الأبعاد

Standard

أداة التحكم تظهر على حسب ثيم الويندوز

System

أدوات التحكم التي سوف تغير بواسطة وضع الـ FlatStyleإلى Systemو هي: Buttoncontrol,RadioButton control,CheckButton control andGroupBoxcontrol أما بالنسبة لأدوات التحكم التى سوف تظهر بنفس التنسيقLabelcontrol,LinkLabel control,DomainUpDowncontrol,NumericUpDowncontrol,CheckedListBoxcontrol.

ملف Manifestهو الأفضل

إذا تود بأن يكون تطبيقك يكون شبية بتنسيق ويندوز، فيجب عليك إضافة ملف Manifestالذي يعتمد على Comctl32.dllبالإصدار السادس ( 6 ). ملف Manifestهو عبارة عن XML fileمدمج بتطبيقك كملف مصدري. لكي تستخدم تنسيق ويندوز XPعلى تطبيقك فأنت تحتاج إلى:

  • وضع جميع أدوات التحكم التى تملك القيمة FlatStyle إلى الخاصية التالية FlatStyle.System.
  • انشاء ملف Manifest لربط برنامج بالملف Comctl32.dll.
  • اضافة الملف المصدري للبرنامج التنفيذي.

إضافة التنسيقلأدوات التحكم

أفضلطريقة لتعلم كيفية إضافة التنسيق هو التطبيق العملي للدرس، في هذا الدرس سوف تقوم بـ :

  • وضع جميع أدوات التحكم التى تملك القيمة FlatStyle إلى الخاصية التالية FlatStyle.System.
  • انشاء ملف Manifest لربط برنامج بالملف Comctl32.dll.
  • اضافة الملف المصدري للبرنامج التنفيذي.

الآن سوفنبدأ، أولاً قم بإنشاء مشروع Windows Application اختار احدى اللغتينC#.NETأوVB.NETبعد ذلك اتبعالخطوات التالية:

  • من صندوق الأدوات ToolBox أضف أدوات تحكم الى المساحة الخالية ( Button control, RadioButton control, ProgressBar control and TrackBar control )
  • قم باعطاء Button control, RadioButton control القيمة FlatStyle الخاصية System.
  • قم بالضغط مرتين على الزر Button control لإضافة ،Click event handler البرنامج سوف يقوم بفتح صفحة تحرير البرنامج .
  • أضف الكود التالي لإعطاء قيمة للـ ProgressBar لكي ترى العداد و هو يتحرك.
' Visual Basic
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
ProgressBar1.Value = 50
End Sub

// C#
private void button1_Click(object sender, System.EventArgs e)
{
progressBar1.Value = 50;
}
  • من القائمة الرئيسية Build، اختار Build your solution.
  • من القائمة الرئيسية File ، اختار Save All لحفظ العمل.

انشاء ملف Manifest

  • من القائمة الرئيسية File، اختار Add و من ثم New Item.
  • سوف يظهر لك نافذة New Item، اختار منها Text File و قم تسمية الملف بـ exe.manifest.اسم المشروع ( مثلاً: WindowsApplicationProject.exe.manifest ) و بعد ذلك قم بالضغط على Open لتأتي لك صفحة فارغة لتكتب بداخلها التالي:






<?xml
version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

 version="1.0.0.0"

 processorArchitecture="X86"

 name="Microsoft.Winweb.<Executable Name>"

 type="win32"

/>

<description>.NET control deployment tool</description>

<dependency>

  <dependentAssembly>

   <assemblyIdentity

    type="win32"

    name="Microsoft.Windows.Common-Controls"

    version="6.0.0.0"

    processorArchitecture="X86"

    publicKeyToken="6595b64144ccf1df"

    language="*"

   />

  </dependentAssembly>

</dependency>

</assembly>

  • يجب عليك أن تنسخ هذا الكود إلى المفكرة و بعد ذلك نسخة الى المشروع.
  • ملاحظة: يجب هنا كتابة اسم المشروع.
  • من القائمة الرئيسية Build، اختار Build your solution.
  • من القائمة الرئيسية File، اختار Save All لحفظ ملف XML.

نسخ ملف Manifest لمجلد البرنامج التنفيذي

الآن يجب عليك نسخ الملفManifest من المجلد الرئيسي إلى مجلد البرنامج التنفيذي و لنقل الملف اتبع التالي:

  • اذهب للمجلد الرئيسي للمشروع، و قم بنسخ ملف Manifest.
  • اذهب إلى المجلد obj و من بعد ذلك اذهب للمجلد Debug أو Release ( يختلف من إصدار إلى آخر ) و سوف تجد البرنامج التنفيذي.
  • الصق ملف Manifest إلى مجلد البرنامج التنفيذي.

اضاقة ملف Manifestللبرنامج التنفيذي

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

  • من القائمة الرئيسية File، اختار Open و منها اختار File.
  • اذهب عبر النافذة إلى مجلد البرنامج التنفيذي و قم بفتح البرنامج التنفيذي ( ProjectName.exe ).
  • اضغط بالزر اليمين للفارة و قم باختيار Add Resource. و اختار من النافذة Import.
  • قم باختيار ملف Manifest ( المنقول إلى مجلد البرنامج الرئيسي ).

ملاحظة: لمشاهدة الملف من النافذة، اختار من القائمة المنسدلة All Files لتستطيع اختيار ملفManifest من القائمة.

  • الآن سوف يظهر لك مربع Resource Type، قم بكتابة RT_MANIFEST و اضغط على زر OK.
  • من نافذة الخصائص Properties Window، اختار ID Properties تساوي 1.

الآن قم بحفظ المشروع كاملاً.Save All من قائمة File.

النهاية

  • أدوات التحكم تظهر بتنسيق ويندوز XP بجميع الوانه.
  • تستطيع تعديل أدوات التحكم لتظهر بمظهر و تنسيق ويندوز XP.
  • بعض أدوات التحكم، تحتاج إلى اصدار مخصص من ملف Comctl32.dll. للبعض الآخر تحتاج إلى تعديل بسيط على القيمة FlatStyle. و اخيراً، البعض الآخر لا يحتاج إلى اي تعديل خارجي عليها.

 

  • Currently 70/5 Stars.
  • 1 2 3 4 5
23 تصويتات / 871 مشاهدة
نشرت فى 15 يونيو 2006 بواسطة nsma

ساحة النقاش

عدد زيارات الموقع

235,756