تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس التاسع والعشرون - التعامل مع أشرطة الحالة Statues Bar
#1
كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

سوف نحاول من خلال الدروس القادمة انهاء البرنامج واعداده للنشر ، وسنبدأ باضافة اللمسات الأخيرة على البرنامج .


التعامل مع شريط الحالة


سنعود الآن مجدداً إلى الفورم الرئيسي ، وسنقوم باضافة شريط الحالة StatusBar ووضع بعض المهام الرئيسية فيه .
من شريط أدوات التحكم قم باضافة StatusBar وستجده تلقائياً يظهر في أسفل الفورم ، من ضمن الخصائص داخل هذه الأداة اختر Custem واختر التبويب الثاني Panels .
تجد زرين Insert Panel و Remove Panel لاضافة وحذف أجزاء من هذا الشريط .

أيضاً تجد الخصائص التالية لكل جزء من هذا الشريط :


Text
: لتحديد النص الذي يظهر في هذا الجزء .

Alignment
: لتحديد محاذاة النص داخل هذا الجزء .

Style
: افتراضياً على text حيث يوضع النص المحدد بالخاصية Text ، لكن يمكن اختيار عرض التاريخ أو الوقت الحالي وغيرها .

Beval
: لتحديد بروز وغطس كل جزء من الشريط .

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


سنضيف العناصر التالية داخل شريط الحالة :
* تحديث الشريط :بعض المعلومات في هذا الشريط تحتاج إلى تحديث مثل عدد البضائع وغيرها .
سيكون هذا الجزء بارزاً على هيئة الزر .
* الوقت الحالي : وسنضبطه من خلال خاصية
Style .
* عدد البضائع .
* عدد البضائع غير المتوفرة .
وسنضبط قيمهما وقت التصميم ، وهما المعنيان بزر التحديث ، وقم بوضع قيم في خاصية
Key ليمكنك ضبطها لاحقاً .
* تشغيل الآلة الحاسبة .
* تشغيل التقرير اليومي .
* وأخيراً البريد الالكتروني ( راسلنا ) .



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


كود :
Private Sub StatusBar1_PanelClick(ByVal Panel As MSComctlLib.Panel)
Select Case Left(Panel, 5)
Case "تحديث"
Refresh_St
Case "عرض ا"
If T1.RecordCount = 0 Then
MsgBox "لا توجد أي بضائع لعرض تقارير عنها ، لاضافة بضاعة جديدة اختر اضافة - اضافة بضاعة", vbExclamation + arabic, "عرض البضائع"
Exit Sub
End If
Unload Frm_Report4
Frm_Report4.Show
Case "تشغيل"
Frm_Calc.Width = 3105
Frm_Calc.Height = 2640
Frm_Calc.Top = 0
Frm_Calc.Left = 0
Frm_Calc.Show
Case "لديك "
If T1.RecordCount = 0 Then
MsgBox "لا توجد أي بضائع للبحث عنها ، لاضافة بضاعة جديدة اختر اضافة - اضافة بضاعة", vbExclamation + arabic, "عرض البضائع"
Exit Sub
End If

Frm_Find.Show
Frm_Find.Text1.Text = 0
Frm_Find.Combo1.ListIndex = 3
Frm_Find.Combo2.ListIndex = 2
Frm_Find.Command2.Value = True
Case "Hamma"
Shell "explorer mailto:Hammada2091@Hotmail.com"
End Select
End Sub
أما في أمر التحديث :


كود :
Private Sub Refresh_St()
SQL = "select count(*) as cnt from tb_product"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset)
StatusBar1.Panels(3).Text = "عدد البضائع " & T4!cnt & " بضاعة"
T4.Close
SQL = "select count(*) as cnt from tb_product where count=0"
Set T4 = D1.OpenRecordset(SQL, dbOpenDynaset)
StatusBar1.Panels(4).Text = "لديك " & T4!cnt & " بضاعة غير متوفرة"
T4.Close
End Sub


*** ملاحظة : نستطيع بنفس الطريقة الاعتماد على خاصية
Index كبديل لقراءة النص المعروض بالشكل التالي :


كود :
Select Case Panel.Index
ونعيد نفس الأكواد السابقة ، وهذه هي الطريقة الأمثل لهذه العملية .

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الرابع والثلاثون والأخير - نبذة عن العملية العكسية + تجهيز البرنامج على Cd RaggiTech 0 1,438 15-10-12, 09:10 AM
آخر رد: RaggiTech
  الدرس الثالث والثلاثون - كيفية عمل اعداد Setup للبرنامج RaggiTech 0 1,234 15-10-12, 09:08 AM
آخر رد: RaggiTech
  الدرس الثاني والثلاثون - التحويل إلى exe RaggiTech 0 1,163 15-10-12, 09:07 AM
آخر رد: RaggiTech
  الدرس الحادي والثلاثون - تعددية المستخدمين - البحث وطباعة الفواتير - التعليمات ... RaggiTech 2 1,760 15-10-12, 09:05 AM
آخر رد: RaggiTech
  الدرس الثلاثون - التعامل مع شريط الأدوات ToolBar RaggiTech 0 994 15-10-12, 08:59 AM
آخر رد: RaggiTech
  الدرس الثامن والعشرون -الطباعة في البرنامج . RaggiTech 4 1,561 15-10-12, 08:56 AM
آخر رد: RaggiTech
  الدرس السابع والعشرون - مقدمة إلى التعامل مع التقارير من خلال DataReport RaggiTech 2 1,715 15-10-12, 08:45 AM
آخر رد: RaggiTech
  الدرس السادس والعشرون - التقارير اليومية ، والتقارير بين تاريخين RaggiTech 1 1,225 15-10-12, 08:39 AM
آخر رد: RaggiTech
  الدرس الخامس والعشرون - الإحصائيات والرسوم البيانية RaggiTech 0 1,103 15-10-12, 08:37 AM
آخر رد: RaggiTech
  الدرس الرابع والعشرون - تقارير المصانع والأنواع RaggiTech 0 777 15-10-12, 08:36 AM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم