petiflamand
Messages postés675Date d'inscriptionsamedi 31 mai 2003StatutMembreDernière intervention26 mai 2013
-
18 juil. 2012 à 20:13
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 2012
-
18 juil. 2012 à 23:34
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
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)
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 18 juil. 2012 à 23:34
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.