Chcialbym sie dowiedziec czy isnieje mozliwosc przeniesienie jakiegos obrazka z jednego miesjca na drugie po kliknieciu i przytrzymaniu tego obrazka...?
Chcialbym aby w momencie przenoszenia obrazek byl widoczny...--take care,
Wodzu
Chcialbym sie dowiedziec czy isnieje mozliwosc przeniesienie jakiegos obrazka z jednego miesjca na drugie po kliknieciu i przytrzymaniu tego obrazka...?
Chcialbym aby w momencie przenoszenia obrazek byl widoczny...--take care,
Wodzu
W FAQ chyba jest opisane "przenoszenie formy...." spróbuj to przenieść na imaga.
public
przeciaganie : boolean;
x2,y2 : integer;
teraz w implementation
on mousedown (w image)
begin
przeciaganie := true;
x2 :=x;
y2 :=y;
end;
onmnousemove (w image)
begin
if przeciaganie = true then
begin
if x < x2 then *w lewo
begin
image1.left := image1.left- 3;
end;
if x > x2 then *w prawo
begin
image1.left := image1.left + 3;
end;
if y < y2 then *chyba w dół
begin
image1.top := image1.top - 3;
end;
if y > y2 then *chyba w gore
begin
image1.top := image1.top + 3;
end;
end;//koniec drag
end;
onmouseup (w image)
begin
przeciaganie := false;
end;
Piszę z pamieci bo jestem w szkole. nie wiem czy zadziala
Image jest na formie.
Ustaw DragMode Image'u na dkAutomatic (jesli dkManual, musisz sam oprogramowac OnMouseDown z metoda BeginDrag).
a w formie:
procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source is Timage then
begin
Accept:=True;
(Source as TImage).Left:=x;
(Source as TImage).Top:=y;
end
else
Accept:=false
end;
procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source is TImage then
begin
(Source as Timage).Left:=x;
(Source as TImage).Top:=y;
end;
end;
To jeszcze wymaga poprawek (czasem np wyswietla zly kursor),a le mi sie nie chce
Aha, Form1.DoubleBuffered:=True pomaga na wyglad (jak zwykle)
--Pawel
Delphi6