Visualizzazione dei risultati da 1 a 4 su 4

Discussione: VB ScaleWidth flexgrid

  1. #1

    VB ScaleWidth flexgrid

    ciao ragazzi

    sto provando a scalare le colonne della flex in resize, ho una flexgrid con 7 colonne e vorrei fare in modo che la le colonne occupino sempre il 100% della flex in Width.

    ho provato con il codice qui riportato ma non va.


    codice:
    Private Sub Form_Resize()
      On Error Resume Next
    
      FlexGrid1.Height = Me.ScaleHeight - 1110 'funziona
      FlexGrid1.Width = Me.ScaleWidth - 320    'funziona
      
      FlexGrid1.ColWidth(0) = Me.ScaleWidth - 4000 'non va bene
      FlexGrid1.ColWidth(1) = Me.ScaleWidth - 4000 'non va bene
      FlexGrid1.ColWidth(2) = Me.ScaleWidth - 4000 'non va bene
      ecc....
    
    
    End Sub
    inutile aggiungere che ho provato e riprovato a cambiare tutti i valori.

    esiste una strada più breve?

    by
    gyonny

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    53
    codice:
    Public Sub RidimensionaGriglia(miaGriglia As MSFlexGrid)
    
    Dim i As Integer
    Dim intGridWidth As Integer
    Dim intColWidthNew As Integer
    
        intGridWidth = miaGriglia.Width
           
        intColWidthNew = intGridWidth / miaGriglia.Cols
     
        For i = 0 To miaGriglia.Cols - 1
            miaGriglia.ColWidth(i) = intColWidthNew - 70
        Next i
       
    End Sub
    
    '---------------------------------------
    Private Sub Form_Resize()
    FlexGrid1.Height = Me.ScaleHeight - 1110
    FlexGrid1.Width = Me.ScaleWidth - 320
    
    RidimensionaGriglia FlexGrid1
    End Sub
    In teoria dovrebbe funzionare, anche se questa routine ti porta ad avere una largezza uguale per tutte le colonne.
    Smanettalo un pochino e vedi cosa ne tiri fuori.

    Ciao.

  3. #3
    ok jank

    tutte le col in larghezza uguale non andrebbe bene, provo ad addattarmi il codice.

    ciao e grazie

    gyonny

  4. #4
    risolto

    ho modificato il codice e funge bene.

    riporto il codice modificato per eventuali interessati

    codice:
    Public Sub RidimensionaGriglia(miaGriglia As MSFlexGrid)
    
    Dim intGridWidth As Integer
    Dim intColWidthNew, dimen As Integer
    
        intGridWidth = miaGriglia.Width
        dimen = 870
        intColWidthNew = intGridWidth / 4 'in numero delle col
           
        miaGriglia.ColWidth(1) = intColWidthNew - dimen
        miaGriglia.ColWidth(2) = intColWidthNew - dimen
        miaGriglia.ColWidth(4) = intColWidthNew - dimen
        miaGriglia.ColWidth(6) = intColWidthNew - dimen
          
    End Sub
    ciao jank
    e di nuovo grazie

    by
    gyonny

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.