Désactiver le mouvement de la souris

Signaler
Messages postés
675
Date d'inscription
samedi 31 mai 2003
Statut
Membre
Dernière intervention
26 mai 2013
-
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
-
Bonjour ,

Pour mon projet j'utilise le mouvement de la souris pour souligner la ligne quand il y a un mouvement sur un msflexgrid
j' ai ceci pour le mouvement
Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    
    On Error Resume Next
    With Me.MSFlexGrid1
        If .Row <> .MouseRow Then
            .Row = .MouseRow
            .Col = .FixedCols - 1
            .ColSel = .Cols - 1
        End If
    End With

    
End Sub

quand je clic sur une ligne elle devient rouge
et j'ai un bouton lancer effacement
quand je lance le bouton il parcours mon msflexgrid et quand la cellbackcolord est rouge elle l'efface d'une base de donnée et du disk si je bouge la souris elle efface aussi la ligne ou la souris est dessus meme si elle n'est pas rouge
je fait ceci
For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 2
If MSFlexGrid1.CellBackColor = vbRed Then
db.Execute "DELETE FROM liste WHERE liste.num_partition ='" & MSFlexGrid1.Text & "'"
DoEvents
MSFlexGrid1.Col = 3
chemin_a_effacer = MSFlexGrid1.Text
MSFlexGrid1.Col = 2
titre_a_effacer = MSFlexGrid1.Text
Kill (chemin_a_effacer & "" & titre_a_effacer)
End If
Next i


comment faire pour eviter cela , est-il possible de desactive la souris durant le processus d'effacement ??
Merci

3 réponses


Bonsoir,

Il faudrait plutôt que toute procédure des événements souris soit ignorée lors de ton processus d'effacement. (par le test d'une variable booléenne par exemple)
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Bonsoir,

Hormis le fait que la proposition de banana32 est envisageable,moi, je me passerais volontier de la boucle.
Je m' explique:

quand je clic sur une ligne elle devient rouge


et je récupère le n° de la ligne dans une variable x.

quand je lance le bouton


et je supprime la ligne x, et je rafraichis mon flexgrid.Sans oublier de mettre ma variable à 0.






[] Ce qui va sans dire. va mieux en le disant.
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Ah, j' allais oublier..
Quand la souris passe, testes avant sur x, avant de remettre le backcolor de la ligne à la normale.Autrement dit, exclus la ligne x; qui doit rester en rouge.

[] Ce qui va sans dire. va mieux en le disant.