الوقت/التاريخ الآن هو الثلاثاء مارس 19, 2024 9:09 am

1 نتيجة بحث عن combobox

جعل القائمة المنسدلة Combobox تحتوي على عنصر التحكم ListView

اهلا بكم

هذا مثال لجعل مربع التحرير والسرد [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]  يسمح بعرض عنصر تحكم [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] في شكل تقرير بحيث عند النقر فوق زر القائمة المنسدلة Combobox يقوم بعرض عنصر التحكم [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ، وتحديد موضعه كأنه هو القائمة المنسدلة

الوسم combobox على المنتدى منتدى مصر التقني 427378479

يمكن أن يكون هذا المثال مفيدًا إذا كنت ترغب في الاطلاع على قائمة بالبيانات في شكل تقرير وبأعمدة متعددة ، وألا تشغل مساحة فى واجهة المشروع

كيف يتم ذلك

1_إضافة وحدة نمطية Class Module تسمى Class1 إلى المشروع

2_في النموذج قم بإضافة عنصري التحكم Listview و Combo.

1_إفتح  Class Module و إضافة التعليمات البرمجية التالية :

إنقر لمشاهدة الشفرة :


4_ فى النافذة اضف التعليمات البرمجية التالية :

الكود:
Option Explicit

Dim ComboListview As Class1


Private Sub Form_Load()
    
    Dim Item As ListItem
    
    With ListView1
                
        ' تسمية رؤس الاعمدة
        .ColumnHeaders.Add , , "الاسم"
        .ColumnHeaders.Add , , "اللقب"
        .ColumnHeaders.Add , , "رقم العميل"
    
        ' إضافة بعض العناصر و SubItems إلى Listview
        
        Set Item = ListView1.ListItems.Add(, , "أحمد")
            Item.SubItems(1) = "المهدي"
            Item.SubItems(2) = "258"
        Set Item = ListView1.ListItems.Add(, , "ناهد")
            Item.SubItems(1) = "شريف"
            Item.SubItems(2) = "658"
        Set Item = ListView1.ListItems.Add(, , "اسماء")
            Item.SubItems(1) = "السيد"
            Item.SubItems(2) = "098"
        Set Item = ListView1.ListItems.Add(, , "عبد الرحمن")
            Item.SubItems(1) = "محمد"
            Item.SubItems(2) = "158"
        Set Item = ListView1.ListItems.Add(, , "حسي")
            Item.SubItems(1) = "السيد"
            Item.SubItems(2) = "168"
        Set Item = ListView1.ListItems.Add(, , "محمد")
            Item.SubItems(1) = "مختار"
            Item.SubItems(2) = "348"
        

        Dim i As Integer
        ' لتغير لون النص
        For i = 1 To ListView1.ListItems.Count
            ListView1.ListItems(i).ForeColor = vbBlue
        Next
    End With
    
    ' انشاء مثيل جديد من الفئة
    Set ComboListview = New Class1
    
    With ComboListview
             ' تحديد حجم الاعمدة
             .AutoSizeColumnHeaders = AJUSTAR_POR_COLUMNA
            
                    
        ' تمرير عنصري التحكم للدالة
        Call .Init(Combo1, ListView1)
    End With
    
End Sub

Private Sub Form_Unload(Cancel As Integer)
    ' تنظيف المتغيرات
    If Not ComboListview Is Nothing Then
        Set ComboListview = Nothing
    End If
End Sub


ملاحظات :

فى شفرة المثال اعلاه ستلاحظ أن هذه الوحدة Class1 لديها طريقة وثلاث خصائص وهم على النحو التالى :

الطريقة Init: هذه الطريقة هي الطريقة التي تبدأ فى تنفيذ الوحدة النمطية  ، ويجب أن يتم تمرير عنصري التحكم كمعلمة ، أي عنصر تحكم combobox المراد استخدامه وعناصر التحكم Listview ، على سبيل المثال

الكود:
Call .Init(Combo1, ListView1)


الخاصية AutoSizeColumnHeaders : و التى تستخدم لتحديد حجم العامود بالنسبة لتسمية رؤس الاعمدة تحتوي هذه الخاصية على ثلاث قيم وهي

  • ADJUST_BY_COLUMN :يتم ضبط العمود بواسطة التسمية التوضيحية للرأس
  • ADJUST_OF_ITEM : فسيضبط العمود نفسه وفقًا لأطول عنصر في العمود
  • NO_ADJUST :لا تفعل شيئا وتتركها كما هي ، أي بدون ضبط


الخصائص WidthList و HeightList لتعيين ارتفاع وعرض القائمة المنسدلة ، أي ListView. إذا لم يتم تحديد هذه القيم ، فسيتم استخدامها بشكل افتراضي كعرض ، وعرض combobox
من طرف المبرمج الطموح
في الأحد نوفمبر 25, 2018 7:49 am
 
ابحث في: دروس و مقالات
موضوع: جعل القائمة المنسدلة Combobox تحتوي على عنصر التحكم ListView
المساهمات: 3
مشاهدة: 676

الرجوع الى أعلى الصفحة

انتقل الى: