cs_Finality
Messages postés76Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention22 janvier 2009
-
1 déc. 2007 à 15:44
cs_Finality
Messages postés76Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention22 janvier 2009
-
1 déc. 2007 à 19:43
Bonjour tout le monde,
dans le programme que je suis en train de dévelloppé j'aurais besoin de faire bouger une picture box a l'aide d'une souris. Pour cela, j'utilise ce code :
; Private Sub frmJeu_MouseMove(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
picRaquette.Left = e.X
End Sub
Je précise que l'image de ma PictureBox est un png avec certains morceaux transparents.
Mais que je déplace ma souris sur ma page, le mouvement est non fluide : la picturebox sarrete puis réapparait là où est possitioner le curseur
Quelqu'un pourrait-il me dire d'où provient cela?
Merci pour votre reponse
Cordialement
Kevin PERRIAT
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 1 déc. 2007 à 16:21
Salut,
Essaye sans rien promètre, quand tu fais ton déplacement de mettre ta picturebox.Enabled = False, car ton problème vient du fait que ta picture doit "recalculer" l'image tout au long de son déplacement...
cs_Finality
Messages postés76Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention22 janvier 2009 1 déc. 2007 à 16:37
Salut,
j'ai bien fait ce que tu m'as dit mais ça ne change rien au probleme
J'ai aussi essayé de mettre mon image en arriere plan de ma pictureBox mais ça ne change rien du tout
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 1 déc. 2007 à 16:43
Re,
Une autre idée..Ben, peut-être mettre les propriétés AutoRedraw False et Autosize False pendant ton déplacement...Si cela ne fonctionne pas, ne charge pas l'image pendant ton déplacement, puis une fois ton déplacement fini, recharge l'image...
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 1 déc. 2007 à 19:07
salut, ton png prend combien en mémoire?
j'ai eu un problème une fois de fluidité parce que l'image que j'utilisais était un peu plus grosse que d'autres, j'ai dû la refaire avec photoshop pour que ça marche mieux.
Il est sur qu'avec de la transparence ca va pas se tracer vite.
Je viens de faire des testes, avec la méthode du WndProc, c'est déjà beaucoup mieux. Y'a plus que les parties transparentes qui ont toujours un peu de mal à suivre.
Rappel de la méthode WndProc :
Public Class Brique
Inherits System.Windows.Forms.PictureBox
Private Const WM_NCHITTEST As Integer = &H84
Private Const HTCLIENT As Integer = &H1
Private Const HTCAPTION As Integer = &H2
Protected Overrides Sub WndProc(ByRef m As Message)
MyBase.WndProc(m)
If m.Msg = WM_NCHITTEST Then
If m.Result = CType(HTCLIENT, IntPtr) Then
m.Result = CType(HTCAPTION, IntPtr)
End If
End If
End Sub
End Class, ----
(Coloration syntaxique automatique par Kenji)