Deplaçer et Redimensioner un TShape
Salut les developpeurs.
J'ai utiliser 2 timage image1 et image2 et un tshape shape1 .
Je voudrais plaçer le shape1 sur l'image1 et en deplaçant le shape ou redimensionner ceci je voudrais avoir un copier de l'image selectionner dans l'image2.
J'ai utiliser les evenements du mouse du shape1 pour le redimensonnement mais je n'arrive pas à bien fixer les paramètres. Est ce que quelq'un peut m'aider à resoudre ce problème.
Merci d'avance
Déplacement à la souris d'un TObject dans toutes les directions
A Bourak :
Citation:
...code que j'ai realisé mais il permet le deplaçement horizontal seulement
... à toutes fins utiles, voiçi une procedure qui permet le déplacement d'un TObject dans toutes les directions :
Code:
1 2 3 4 5 6 7 8
| // Déplacement d'un TObject avec bouton gauche de la souris
procedure DeplacerMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
const SC_DragMove = $F014;
begin if (ssLeft in Shift) then
begin ReleaseCapture;
TControl(Sender).Perform(WM_SysCommand, SC_DragMove, 0);
end;
end; |
... et comment l'utiliser :
Code:
1 2 3 4
| procedure TForm1.monTrucOuJeDetecteMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin DeplacerMouseMove(MachinADeplacer,Shift,X,Y);
end; |
... MachinADeplacer peut être par exemple :
- Form1 avec BorderStyle:=bsNone (= Form sans barre de titre) où cette barre de titre est remplacée par un labelTitrePersonnalisé qui joue le rôle de monTrucOuJeDetecteMouseMove,
- un TPanel invisible au départ pour servir par exemple de DialogBoxPersonnalisée et qui joue en même temps le rôle de monTrucOuJeDetecteMouseMove,
- ou bien tout autre machin du type TObject.
... donc :
Code:
1 2 3 4 5
| Pour déplacer ton Shape dans tous les sens :
procedure TForm1.Shape1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin DeplacerMouseMove(Shape1,Shift,X,Y);
end; |
Remarque : Si MachinADeplacer est une Form son déplacement est libre sur toute l'étendue de l'écran, par contre si MachinADeplacer est prisonnier d'un conteneur ses déplacements sont limités aux bords du conteneur en question.
A+