RURUInc
Messages postés42Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention21 octobre 2008
-
26 sept. 2008 à 15:07
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 2013
-
26 sept. 2008 à 22:05
Bonjour à tous.
J'ai un petit soucis lors du déplacement d'un composant à l'aide de la souris.
Je m'explique
Imaginons que j'ai 5 panels sur une form placer n'importe où.
et que je place 3 evenements (les mêmes pour tous).
Voici l'exemple complet qui fonctionnera sur votre D7
(utile pour ceux qui ne maitrise pas le deplacement de composant)
procedure TForm1.Setpos(const Value: TPoint);
begin
Fpos := Value;
end;
procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
If (Button=MbLeft) And (ssShift in Shift) Then
Begin
Cote:=1;
pos := Point(x,y);
end;
end;
procedure TForm1.PanelMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if (Sender is TPanel) then
Begin
// TPanel(Sender).Cursor:=CrDefault;
if (ssShift in shift) then
Begin
Tpanel(Sender).Cursor := crSizeAll;
if (Cote = 1) then
Begin
TPanel(Sender).Left := TPanel(Sender).Left + X - pos.X;
TPanel(Sender).Top := TPanel(Sender).Top + Y - pos.y;
end;
end;
end;
Shift := [];
end;