jak moge zrobić aby obrazek który mam na formie (obrazek w komponencie Image) można było przesówać po całej formie ( tak jak ikony na pulpicie)
Zadeklaruj dwie zmienne globanle:
var
MD : Boolean;
P : TPoint;
Wygeneruj procedury:
procedure TImage1.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD := True;
P := Point(X, Y);
end;
procedure TImage1.ImageMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if MD then
begin
Image1.Left := Image1.Left + (X - P.X);
Image1.Top := Image1.Top + (Y - P.Y);
end;
end;
procedure TImage1.ImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD := False;
end;
dziękuje działa. a mam jeszcze jedno pytanie jak można zrobić aby nie po naciśnięciu raz wyskoczyła nowa forma (bo ten rysunek ma rzypisane form2.showmodal;) tylko żeby po dwóch szybkich kliknięciach tak jak na prawdziwych ikonach??
nie no, stary, teraz to przegiales :-)
nastepnym razem troche pokombinuj sam, zanim wepchniesz do netu.
mam dobry dzien, wiec odpowiem:
zamiast do OnClick dajesz do OnDblClick. "Dbl" to skrot od Double czyli "Podwojny" :-P
pozdro [browar]
Delphi - Jak przesuwać obrazek (rysunek, bitmapę) za pomocą myszy (myszki) ?
Powyższe mi nie działa ale to działa:
http://4programmers.net/Delphi/FAQ/Jak_poruszać_komponentem_za_pomocą_myszy
jak wyrugować migotanie można znalezc w faqach
inną sprawa jest przesuwanie płynne rysunku lub bitmapy w Canvas ze ścieraniem - efekt podobny ale zastosowania wygodniejsze
jeśli ktos wie niech pisze ale dokładny kod a nie 'porady'