Voila je souhaite dans mon application pouvoir déplacer un shape en maintenant la souris enfoncée. J'arrive a le faire déplacer seulement je n'ai pas d'autre moyen que d'utilise la propriete repaint ou refresh du shape pour mettre a jour sa position du coup de temps en temps le shape se met a grésiller. De plus si je déplace la souris trop rapidement le shape lui ne suis pas et je ne sais pas comment faire en sorte que le curseur de la souris soit toujours au meme emplacement sur le shape lorsque je déplace le curseur ce qui je penses devrai pouvoir résoudre le probleme de vitesse.
Si quelqu'un pouvait m'aider à resoudre ce probleme. Voici mon code :
Merci d'avance 8)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 procedure TFormJeux.shcasseMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var position: TPoint; var i: integer; begin GetCursorPos(Position); i:=position.X; // tant que le bouton de la souris est enfoncé while GetAsyncKeyState(VK_LBUTTON) And $8000<>0 do begin GetCursorPos(Position); begin shcasse.Left:=shcasse.Left-1; shcasse.Repaint; end; if position.X>i then begin shcasse.Left:=shcasse.Left+1; shcasse.Repaint; end; i:=position.X; end; end;
Partager