Grille magnétique sur un TImage...

Résolu
cs_Slander Messages postés 26 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 14 décembre 2009 - 5 nov. 2005 à 02:40
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 - 5 nov. 2005 à 17:26
Bonjour, bonsoir...



Voilà je cherche à faire un effet de grille magnétique sur un TImage
mais j n'arrive pas à placer la souris sur la grille... elle reste
libre... Peut-être pourriez-vvous m'aider à trouver une solution...
Merci d'avance à tous ceux qui se donneront la peine de répondre...

L'ange éternel

4 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
5 nov. 2005 à 14:33
essaye ça apparemnt ça marche

var

lastpoint:Tpoint;//memorisation du point



procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

var Tmp:Tpoint;

begin

with image1 do

begin

GetCursorPos(Tmp);

if (lastpoint.X= 0)and(lastpoint.Y=0) then //initialisation du point d'entree

with image1 do

begin

lastpoint.X: =tmp.X;

lastpoint.Y:= tmp.Y;

end;

if (lastpoint.X<>Tmp.X)then

begin

if Tmp.X>lastpoint.X+5 then lastpoint.X:=lastpoint.X+10 //10 pour le pas de grille si on dépasse la moitie on va au point suivant et on memorise la nouvelle position

else

if Tmp.X<lastpoint.X-5 then lastpoint.X: =lastpoint.X-10 ;

Tmp.X:=lastpoint.X;

end;

if (lastpoint.Y<>Tmp.Y)then

begin

if Tmp.Y>lastpoint.Y+5 then lastpoint.Y:=lastpoint.Y+10

else

if Tmp.Y<lastpoint.Y-5 then lastpoint.Y:=lastpoint.Y-10 ;

Tmp.Y:=lastpoint.Y;

end;

SetCursorPos(Tmp.X, Tmp.Y);

sleep(50); //pour visualiser le magnetisme



end;

end;

bon ce n'est pas optimisé mais c'est une piste

bonne prog
3
cs_Slander Messages postés 26 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 14 décembre 2009
5 nov. 2005 à 13:15
Merci de ta réponse rapide jlen100,malheureusement j'ai déjà tenté
cette approche et le problème est que mon TImage n'ai pas sur toute la
fiche et n'est pas centré... Pour pallier à cet obstacle j'ai
effectivement utilisé les SetCursorPos() et GetCursorPos() ainsi que
ScreenToClient et ClientToScreen... mais le problème reste entier... je
n'arrive pas à faire "coller" la souris sur ma grille...



Pour ce qui est de la source que tu cite, je l'ai déjà étudiée mais il n'y à malheureusement pas de "grille" ou équivalent...



Je désespère de trouver une solution à mon problème car j'ai vraiment
cherché partout et pour l'instant je n'ai rien trouvé de concluant...



Le mot de la fin: Merci encore de ta réponse... et bon codding à tous...

L'ange éternel
0
cs_Slander Messages postés 26 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 14 décembre 2009
5 nov. 2005 à 17:19
Yes ! Merci beaucoup pour le coup de main... Et bonne continuation à toi !


L'ange éternel
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
5 nov. 2005 à 17:26
il n'y a pas de quoi

bonne continuation à toi aussi

jlen
0
Rejoignez-nous