Cette procedure déplace et redimmensionne une fenêtre avec "animations"
Le plus simple est d'aller voir l'exemple dans le zip ;)
Sinon voici la procedure:
frm -> la fenêtre a déplacer
FinX -> Position X finale de la fenêtre
FinY -> Position Y finale de la fenêtre
FinW -> Largeur finale de la fenêtre
FinH -> Hauteur finale de la fenêtre
Temps-> temps voulu pour le déplacement(pas de mesure spéciales, 10 recommandé)
Source / Exemple :
procedure Bouge(frm:TForm;FinX:Integer;FinY:Integer;FinW:Integer;FinH:Integer;Temps:Integer);
var
DecX:integer; //Décalage X (Left)
DecY:integer; //Décalage Y (Top)
DecH:integer; //Décalage H (Height)
DecW:integer; //Décalage W (Width)
MemTimer:integer; //ME sert pour garder une vitesse identique sur chaq ordi
a:integer;
begin
With frm do begin
DecX := (FinX - Left) div Temps; //Calcul des décalages
DecY := (FinY - Top) div Temps; //Plus temps est grand, plus c lent
DecH := (FinH - Height) div Temps;
DecW := (FinW - Width) div Temps;
For a := 1 To Temps do begin //Ben la ca déplace
MemTimer := GetTickCount;
Top := Top + DecY;
Left := Left + DecX;
Width := Width + DecW;
Height := Height + DecH;
Application.ProcessMessages;
repeat
Until GetTickCount - MemTimer > 10;
end;
End;
End;
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.