الضبط التلقائى لحجم أعمدة FlexGrid

إرسال مساهمة في موضوع

اذهب الى الأسفل

الضبط التلقائى لحجم أعمدة FlexGrid

مُساهمة من طرف السنى في الجمعة نوفمبر 02, 2018 12:44 pm


الطريقة التالية تقوم بضبط حجم اعمدة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] تلقائيا عند وجود نص اكبر فى احد خلايا العامود ....مبدء عمل الطريقة يتم اجتياز صفوف وأعمدة Flex في حلقتين تكرارتين ويتم تخزين أكبر عرض لكل عمود في متغير

ثم في نهاية كل شيء يمر عبر كافة الحقول ويتم تعيينه بواسطة الخاصية ColWidth من FlexGrid ، عرض كل رأس

شفرة الطريقة عىل النحو التالى :

الكود:
Private Sub Ajustar_Columnas(FlexGrid As MSHFlexGrid)
                              
On Local Error GoTo ErrSub
                              
  
    Dim Columna As Integer, Fila As Long
  
  
    Dim Ancho_Columna() As Single
    Dim Col_Width As Single
          
    
    ReDim Ancho_Columna(0 To FlexGrid.Cols - 1)
      
  
    For Columna = 0 To FlexGrid.Cols - 1
    Ancho_Columna(Columna) = TextWidth(FlexGrid.TextMatrix(0, Columna))
    Next Columna
      
    
    For Fila = 1 To FlexGrid.Rows - 1
                    
        For Columna = 0 To FlexGrid.Cols - 1
                            
            Col_Width = TextWidth(FlexGrid.TextMatrix(Fila, Columna))
              
               If Ancho_Columna(Columna) < Col_Width Then
               Ancho_Columna(Columna) = Col_Width
            End If
        Next
    Next
  
            
    For Columna = 0 To FlexGrid.Cols - 1
        FlexGrid.ColWidth(Columna) = Ancho_Columna(Columna) + 240
    Next
  
Exit Sub
  
ErrSub:
      
    MsgBox Err.Description, vbCritical
    FlexGrid.Redraw = True
  
End Sub



ويتم استخدام الطريقة على النحو التالى :

الكود:
 Call Ajustar_Columnas(MSHFlexGrid1)  
avatar
السنى
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 216
النقاط : 404
التقيم : 22
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

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

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
تستطيع الرد على المواضيع في هذا المنتدى