[VBA ACCESS] fonctions silmilaires, résultats différents

Fermé
seb2532 - 20 juin 2013 à 16:31
 seb2532 - 24 juin 2013 à 15:08
Bonjour,

j'ai 2 formulaires différents qui affiche des images. dans chacun de ces formulaire j'ai une fonction qui permet d'afficher un truc au passage du curseur sur une des images (mousemove). ces 2 function sont donc assez semblables, la première affichant une image agrandie, l'autre une liste d'éléments qui correspondent à la photo. les voici:

-----------------------------------------------------------------------------------
Function infos(Origine As String) 'permet d'afficher une liste d'éléments en fonction de la photo

Dim haut As Single, gauche As Single
Dim Requete As String, Ref As String

haut = Controls(Origine).Top
gauche = Controls(Origine).Left

Ref = DLookup("[MARQUE]", "Marques", "[Logo] = " & Chr(34) & Dir(Controls(Origine).Picture) & Chr(34))
Requete = "SELECT TOP 4 [Nom du Jeu] FROM [Liste jeux possédés] Where [Liste jeux possédés].[Editeur] Like " & Chr(34) & "*" & Ref & "*" & Chr(34) & " ORDER BY [Notation] DESC, [Nom du Jeu] ;"
Me.LstJeux.Top = (haut - 50)
Me.LstJeux.Left = (gauche - 100)
Me.LstJeux.RowSource = Requete
Me.LstJeux.Requery
Me.LstJeux.Visible = True

Pause (2)

Me.LstJeux.Visible = False

End Function
--------------------------------------------------------------------------------------------------------------
Function Zoom(Origine As String) 'permet de zoomer sur une des photos

Dim haut As Single
Dim gauche As Single

haut = Controls(Origine).Top
gauche = Controls(Origine).Left

Me.ImgZoom.Top = (haut - 150)
Me.ImgZoom.Left = (gauche - 300)
Me.ImgZoom.Picture = Controls(Origine).Picture
Me.ImgZoom.Width = Me.ImgZoom.ImageWidth
Me.ImgZoom.Height = Me.ImgZoom.ImageHeight
Me.ImgZoom.Visible = True

Pause (2)

Me.ImgZoom.Visible = False

End Function
------------------------------------------------------------------------------------------------------------------

pourtant le comportement de ces 2 function n'est pas le même. la première se relance dès que terminée même si le curseur ne bouge plus, alors que, dans le même cas, la seconde ne se déclenche qu'une fois.
sauriez vous pourquoi la 1ere se re-déclenche alors que si le curseur est immobile, l'événement mousemove ne devrait pas la lancer.

merci pour votre aide.


A voir également:

2 réponses

je précise que Pause(2) ne fait rien d'autre que faire une pause de 2 secondes.


Sub Pause(tps)

tinit = Timer
Do While Timer - tinit < tps
DoEvents
Loop

TempsEcoule:


End Sub
0
personne n'a d'idée?
0

Discussions similaires