Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    [vb6] scroll di un msflexgrid

    salve ragazzi!!

    c è un modo per far si che la rotellina del muose si muova all interno di un msflexgrid?
    - DenvEr -

  2. #2
    Utente di HTML.it L'avatar di StegcO
    Registrato dal
    Aug 2008
    Messaggi
    371
    Prima aggiungi il controllo MouseWheelCatcher.ocx

    poi scrivi questo che ti metto ora, ma bada che devo migliorarlo in quanto se arrivi all'ultima riga si blocca, e sulla prima da un brutto effetto grafico.

    codice:
    Private Sub WheelCatcher_WheelRotation(Rotation As Long, x As Long, y As Long, CtrlHwnd As Long)
    
    If MIA_FLEX.Rows <> MIA_FLEX.Row + 1 Then
    
        If MIA_FLEX.Row = 0 Then
        
            With MIA_FLEX
                .Row = .Row + 1
                .RowSel = .Row
                .ColSel = .Cols - 1
                If .RowIsVisible(.Row) = False Then .TopRow = .Row
                .SetFocus
            End With
        
        Else
        
            If MIA_FLEX.Rows = MIA_FLEX.Row + 1 Then
            
                With MIA_FLEX
                    .Row = .Row - 1
                    .RowSel = .Row
                    .ColSel = .Cols - 1
                    If .RowIsVisible(.Row) = False Then .TopRow = .Row
                    .SetFocus
                End With
            
            Else
        
                With MIA_FLEX
                    .Row = .Row - Rotation
                    .RowSel = .Row
                    .ColSel = .Cols - 1
                    If .RowIsVisible(.Row) = False Then .TopRow = .Row
                    .SetFocus
                End With
                
            End If
        
        End If
    
    End If
    
    End Sub

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da StegcO
    Prima aggiungi il controllo MouseWheelCatcher.ocx
    Dovresti anche dirgli DOVE può scaricare il controllo, non credi?


  4. #4
    Grazi Gibra! in rete almeno fino ad ora non ho trovato nulla!
    - DenvEr -

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Originariamente inviato da gibra
    Dovresti anche dirgli DOVE può scaricare il controllo, non credi?
    Concordo. E aggiungo che si dovrebbe almeno citarne l'autore.

    StegcO, già postare codice da copia-incollare non è una buona pratica; ma se prorpio lo vuoi fare, almeno cerca di postare codice... un po' meno illogico.

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da DenvEr87
    Grazi Gibra! in rete almeno fino ad ora non ho trovato nulla!
    Dovresti trovarlo ... da queste parti...
    http://forum.masterdrive.it/search.php?searchid=198925

    N.B. Forse devi essere iscritto al forum per scaricarlo.


  7. #7
    Utente di HTML.it L'avatar di StegcO
    Registrato dal
    Aug 2008
    Messaggi
    371
    si scusate.. io ho copiaincollato il codice ma ho anche specificato che ha dei problemi, magari lui trova una soluzione migliore

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    ho anche specificato che ha dei problemi
    Non ha solo problemi di funzionamento, è la logica che non va. Per esempio...
    codice:
    If MIA_FLEX.Rows <> MIA_FLEX.Row + 1 Then
    
    'tutto quello che segue verrà eseguito solo se .Rows è diverso da .Row+1  
       
       If MIA_FLEX.Row = 0 Then
            With MIA_FLEX
                .Row = .Row + 1
                .RowSel = .Row
                .ColSel = .Cols - 1
                If .RowIsVisible(.Row) = False Then .TopRow = .Row
                .SetFocus
            End With
        
        Else
        
    '...quindi la condizione che segue non potrà mai essere vera
     
           If MIA_FLEX.Rows = MIA_FLEX.Row + 1 Then
        
                With MIA_FLEX
                    .Row = .Row - 1
                    .RowSel = .Row
                    .ColSel = .Cols - 1
                    If .RowIsVisible(.Row) = False Then .TopRow = .Row
                    .SetFocus
                End With
            
            Else
        
                With MIA_FLEX
                    .Row = .Row - Rotation
                    .RowSel = .Row
                    .ColSel = .Cols - 1
                    If .RowIsVisible(.Row) = False Then .TopRow = .Row
                    .SetFocus
                End With
                
            End If
        
        End If
    
    End If

  9. #9
    Grazie Gibra! ho risolto!

    e un grazie a tutti coloro che mi hanno dato una mano!
    - DenvEr -

  10. #10
    Utente di HTML.it L'avatar di StegcO
    Registrato dal
    Aug 2008
    Messaggi
    371
    Originariamente inviato da Grumpy
    Non ha solo problemi di funzionamento, è la logica che non va. Per esempio...
    codice:
    If MIA_FLEX.Rows <> MIA_FLEX.Row + 1 Then
    
    'tutto quello che segue verrà eseguito solo se .Rows è diverso da .Row+1  
       
       If MIA_FLEX.Row = 0 Then
            With MIA_FLEX
                .Row = .Row + 1
                .RowSel = .Row
                .ColSel = .Cols - 1
                If .RowIsVisible(.Row) = False Then .TopRow = .Row
                .SetFocus
            End With
        
        Else
        
    '...quindi la condizione che segue non potrà mai essere vera
     
           If MIA_FLEX.Rows = MIA_FLEX.Row + 1 Then
        
                With MIA_FLEX
                    .Row = .Row - 1
                    .RowSel = .Row
                    .ColSel = .Cols - 1
                    If .RowIsVisible(.Row) = False Then .TopRow = .Row
                    .SetFocus
                End With
            
            Else
        
                With MIA_FLEX
                    .Row = .Row - Rotation
                    .RowSel = .Row
                    .ColSel = .Cols - 1
                    If .RowIsVisible(.Row) = False Then .TopRow = .Row
                    .SetFocus
                End With
                
            End If
        
        End If
    
    End If
    eppure a me funziona.. anche la parte dove te dici che non si verifica mai..

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.