عرض مشاركة واحدة
قديم 12-17-2009, 12:05 AM
  #3
ايمان حسن
 الصورة الرمزية ايمان حسن
 
تاريخ التسجيل: Sep 2007
العمر: 39
المشاركات: 1,853
افتراضي مشاركة: تعلم فجول بيسك 6 بالتفصيل

الفصل الثالث : القوائم وأشرطة الأدوات وأشرطة الحالة
مقدمة
سنتعلم في هذا الفصل كيفية بناء عناصر أساسية لأي تطبيق وهي القوائم وأشرطة الأدوات وأشرطة الحالة .
البرنامج MyMenu
الوظيفة
• بالنقر على أي لون من قائمة Color فتلون به النافذة ( منطقة العمل Client Area ) ولا يتاح هذا اللون للإستخدام إلا بعد إختيار لون آخر للتلوين . ويمكن أداء نفس العمل بإختيار اللون من شريط الأدوات ( الألوان ) .
• عند إزالة تعليم صندوق الإختيار Check Box المسمى Color Menu تختفي قائمة Color من داخل شريط القوائم . وتظهر ثانية بإعادة تعليم صندوق الإختيار ويمكن تعليمه أو إزالة التعليم بضغط مفتاح المسافة Space Bar أو بالنقر عليه بواسطة الفارة .
• عند إزالة تعليم عنصر القائمة ToolBars من قائمة Tool And Status Bars تختفي أشرطة الأدوات وتظهر هذه الأشرطة ثانية بإعادة التعليم لعنصر القائمة .
• عند إزالة تعليم عنصر القائمة StatusBars من القائمة Tool And Status Basrs تختفي أشرطة الحالة وتظهر ثانية بإعادة التعليم لعنصر القائمة .
البرمجة المرئية
Object Property Settings Object Property Settings
Form Name FRMMyMenu PictureBox Name PicToolBar1
BorderStyle Align 1
MoveAble F Height
StartUpPosition PictureBox Name PicGreen – PicBlue
Caption برنامج القائمة Align 0
AutoRedraw T BackColor Green – Blue
Height Height
Left Left
Top Top
Width Width
PictureBox Name PicToolBar2 PictureBox Name PICStatusBar1
Align 1 Align 2
Height Height
PictureBox Name PICRed CheckBox Name CHKColorMenu
Align 0 Caption إظهر قائمة الألوان
BackColor Red Value
Height Height
Left Left
Top Top
Width Width
PictureBox Name PICStatusBar2
Align
Height
CommandButton Name CBExit
Caption خروج
Cancel T
Height
Left
Top
Width
والآن علينا إدراج قائمة من أيقونة Menu Editor
Menu Caption Remarks
ملف MnuFile
… خروج MnuExit
ألوان MnuColor
… أخضر MnuGreen
… أزرق MnuBlue
… أحمر MnuRed
أشرطة الحالة والأدوات MnuToolStatusBars
… أشرطة الأدوات MnuToolBars Checked = True
… أشرطة الحالة MnuStatusBars Checked = True
كتابة الشفرة
كتابة الشفرة الخاصة بتعليم صندوق الآختيار ( إظهر قائمة الألوان )
Private Sub CHKColorMenu_Click()
If CHKColorMenu.Value = 0 Then
MnuColor.Visible = False
Else
MnuColor.Visible = True
End If
End Sub
تختبر الشفرة السابقة قيمة الخاصية Value التابعة لصندوق الإختيار فإذا كانت هذه القيمة = 0 ( غير معلم UnChecked ) تختفي قائمة Color وإذا كانت هذه القيمة = 1 ( معلم Checked ) أو قيمتها = 2 ( مظللة وتعني أن صندوق الإختيار معلم ولا يمكن إزالة التعليم من داخله ) تظهرقائمة Color .
كتابة الشفرة الخاصة بإختيار العنصر ( خروج ) من القائمة ( ملف )
Private Sub MnuExit_Click()
End
End Sub
كتابة الشفرة الخاصة بالنقر على العنصر ( أزرق ) من القائمة ( ألوان )
Private Sub MnuBlue_Click()
FRMMyMenu.BackColor = QBColor (1)
MnuBlue.Enabled = False
MnuGreen.Enabled = True
MnuRed.Enabled = True
End Sub
تؤدي الشفرة السابقة إلى تلوين النافذة FRMMyMenu باللون الأزرق ثم تعطيل العنصر ( أزرق ) في القائمة ( ألوان ) .
كتابة الشفرة الخاصة بالنقر على العنصر ( أخضر ) من القائمة ( ألوان )
Private Sub MnuGreen_Click()
FRMMyMenu.BackColor = QBColor (2)
MnuBlue.Enabled = True
MnuGreen.Enabled = False
MnuRed.Enabled = True
End Sub
كتابة الشفرة الخاصة بالنقر على العنصر ( أحمر ) من القائمة ( ألوان )
Private Sub MnuRed_Click()
FRMMyMenu.BackColor = QBColor (4)
MnuBlue.Enabled = True
MnuGreen.Enabled = True
MnuRed.Enabled = False
End Sub
تؤدي الشفرتين السابقتين إلى نفس عمل الشفرة الخاصة بالنقر على العنصر ( أزرق ) من القائمة ( ألوان ) ولكن مع إختلاف اللون فالأولى تؤدي إلى التلوين باللون الأخضر والثانية باللون الأحمر .
كتابة الشفرة الخاصة بالنقر على أيقونة اللون الأزرق من شريط الأدوات
Private Sub PICBlue_Click()
MnuBlue_Click
End Sub
كتابة الشفرة الخاصة بالنقر على أيقونة اللون الأخضر من شريط الأدوات
Private Sub PICGreen_Click()
MnuGreen_Click
End Sub
كتابة الشفرة الخاصة بالنقر على أيقونة اللون الأحمر من شريط الأدوات
Private Sub PICRed_Click()
MnuRed_Click
End Sub
تؤدي كل شفرة من الشفرات الثلاث السابقة إلى تنفيذ الشفرة التي تمثلها من الشفرات الخاصة بالنقر على العنصر ( أزرق – أخضر – أحمر ) من القائمة ( ألوان ) على الترتيب .
كتابة الشفرة الخاصة بإختيار العنصر ( أشرطة أدوات ) من القائمة ( أشرطة الحالة والأدوات )
Private Sub MnuToolBars_Click()
If MnuToolBars.Checked = True Then
PicToolBar1.Visible = False
PicToolBar2.Visible = False
MnuToolBars.Checked = False
Else
PicToolBar1.Visible = True
PicToolBar2.Visible = True
MnuToolBars.Checked = True
End if
End Sub
كتابة الشفرة الخاصة بإختيار العنصر ( أشرطة الحالة ) من القائمة ( أشرطة الحالة والأدوات )
Private Sub MnuStatusBars_Click()
If MnuStatusBars.Checked = True Then
PicStatusBar1.Visible = False
PicStatusBar2.Visible = False
MnuStatusBars.Checked = False
Else
PicStatusBar1.Visible = True
PicStatusBar2.Visible = True
MnuStatusBars.Checked = True
End if
End Sub
تختبر الشفرة السابقة قيمة الخاصية Checked ( تعليمة ) للعنصر ( أشرطة أدوات ) فإذا كانت القيمة صحيحة يخفي أشرطة الأدوات ToolBars1 و Tool Bar2 ويزيل التعليمة من أمام العنصر وبالمثل يختبر قيمة الخاصية Check للعنصر ( أشرطة الحالة ) فإذا كانت القيمة صحيحة أزال التعليمة وأخفى أشرطة الحالة من أمام العنصر .
البرنامج MenuGrow
الوظيفة
• عند نقر الزر ( إضافة عنصر ) يضاف عنصر قائمة إلى القائمة ( ملف )
• عند نقر الزر( حذف عنصر ) يحذف عنصر قائمة من القائمة ( ملف )
• عند إختيار أحد عناصر القائمة الجدد يرسم الشكل المناسب له مع ظهور رسالة " لقد إخترت رسم العنصر رقم : " بالإضافة إلى رقم العنصر .
البرمجة المرئية
Object Property Settings Object Property Setting
Form Name FRMMenuGrow CommandButton Name CBAdd – CBRemove
BorderStyle Caption إضافة عنصر- حذف عنصر
MoveAble F Default T – F – F
StartUpPosition Style 1
Caption القائمة المتزايدة Height
AutoRedraw T Left
Height Top
Left Width
Top Shape Name SHPShape
Width BorderWidth
Label Name LBLMessage FillColor
Alignment 2 FillStyle
Border Height
Height Left
Left Top
Top Width
Width Shap
والآن علينا إدراج قائمة من أيقونة Menu Editor
Menu Caption Remarks
ملف MnuFile
… خروج MnuExit
… - MnuDynamic Index = 0
كتابة الشفرة
نبدأ كتابة شفرتنا بالتصريح عن متغير عام داخل قسم التصريحات العامة لنستطيع التعامل معه من داخل أي شفرة
Option Explicit
Dim MenuIndex
كتابة شفرة تحميل النافذة
Private Sub Form_Load()
MenuIndex = 0
End Sub
نبدأ بقيمة مبدئية نلحقها بعداد العناصر وهي القيمة = 0
كتابة الشفرة الخاصة بالنقر على الزر ( إضافة عنصر )
Private Sub CBAddItem_Click()
If MenuIndex = 5 Then
MsgBox " هناك 5 عناصر قائمة بالفعل ، لذا لن نضيف هذا العنصر الجديد "
Exit Sub
Else
MenuIndex = MenuIndex + 1
Load MnuDynamic(MenuIndex)
MnuDynamic(MenuIndex).Caption = Str$(MenuIndex)
End If
End Sub
تختبر الشفرة السابقة عدد العناصر المضافة فإذا كان هناك 5 عناصر مضافة تظهر رسالة تحذيرية بوجود 5 عناصر مضافة ثم ينهي الشفرة وإذا كان هناك أقل من 5 عناصر يزيد عداد العناصر MenuIndex بمقدار ( 1 ) وتستخدم العبارة Load لإضافة العنصر الجديد ويتم تسمية هذا العنصر بإستخدام الخاصية Caption .
كتابة الشفرة الخاصة بالنقر على الزر ( حذف عنصر )
Private Sub CBRemove_Click()
If MenuIndex = 0 Then
MsgBox " آسف لا يوجد عناصر قائمة لتحذف ."
Exit Sub
Else
UnLoad MnuDynamic(MenuIndex)
MenuIndex = MenuIndex – 1
End If
End Sub
تختبر الشفرة السابقة عدد العناصر المضافة فإذا كان عدد العناصر المضافة ( 0 ) تظهر رسالة تحذيرية بأنه لا يوجد عناصر ثم ينهي الشفرة وإلا استخدم العبارة UnLoad لحذف العنصر الحالي ثم ينقص عداد العناصر MenuIndex بمقدار ( 1 ) .
كتابة الشفرة الخاصة بإختيار أحد العناصر المضافة
Private Sub MnuDynamic_Click(Index as Integer)
LBLMessge.Caption = " لقد إختارت العنصر : " + Str$(Index)
SHPShape.Shape = Index
End Sub
تؤدي الشفرة السابقة لظهور العبارة ( لقد إختارت العنصر : ) بالإضافة إلى ترتيب هذا العنصر ثم رسم الشكل الذي يناسب هذا الترتيب .
كتابة الشفرة الخاصة بإختيار العنصر ( خروج ) من القائمة ( ملف )
Private Sub MnuExit_Click()
End
End Sub
البرنامج PopUp
الوظيفة
عند نقر الزر الأيمن للفارة داخل النافذة تظهر قائمة منبثقة تحتوي على 3 عناصر بإختيار أحداها تظهر الصورة المقابلة لهذا العنصر .
البرمجة المرئية
Object Property Settings Object Property Settings
Form Name FRMPopUp Imageox Name IMGViewer
BorderStyle Stretch T
MoveAble F Height
StartUpPosition Left
Caption القائمة النبثقة Top
AutoRedraw T Width
Height ImageBox Name IMGPC – IMGClock – IMGTel
Left Visible F
Top Picture
Width
والآن يجب عليك إدراج الصور الثلاث التي تمثل العناصر الثلاث للقائمة المنبثقة ( حاسب – منبه – تليفون ) على الترتيب .


والآن علينا إدراج قائمة من أيقونة Menu Editor
Menu Caption Remarks
ملف MnuFile
… خروج MnuExit
عارض الصور MnuDisplayImages Visible Check Box = False
… حاسب MnuPc
… منبه MnuClock
… تليفون MnuPhone
كتابة الشفرة
كتابة شفرة تحميل النافذة
Private Sub Form_Load()
FrmPopUp.PopUpMenu MnuDisplayImages
End Sub
تستعمل الشفرة السابقة المنهج PopUpMenu لإظهار محتويات القائمة DisplayImages في شكل قائمة منبثقة .
كتابة الشفرة الخاصة بإختيار عنصر القائمة Pc
Private Sub MnuPc_Click()
ImgViewer.Picture = ImgPc.Picture
End Sub
كتابة الشفرة الخاصة بإختيار عنصر القائمة Clock
Private Sub MnuClock_Click()
ImgViewer.Picture = ImgClock.Picture
End Sub
كتابة الشفرة الخاصة بإختيار عنصر القائمة Tel
Private Sub MnuTel_Click()
ImgViewer.Picture = ImgTel.Picture
End Sub
تقوم الشفرات السابقة بإلحاق الصور ( حاسب – منبه – تليفون ) إلى الصورة العارضة ( ImgViewer ) على الترتيب .
ملاحظات
• يلزم لتصميم شريط أداة أو شريط حالة إستخدام الأداة Picture Box وحتى تقوم بدور شريط الأداة يجب ضبط الخاصية Align لتساوي ( 1 Align Top ) ولتصبح شريط حالة يجب أن تساوي الخاصية القيمة ( 2 Align Bottom ) .
• تستطيع تصميم القوائم بإستخدام ايقونة Menu Editor من شريط الإختصارات .
ايمان حسن غير متواجد حالياً  
رد مع اقتباس