Thema: Delphi TImage per Maus bewegen

Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: TImage per Maus bewegen

  Alt 2. Dez 2005, 08:41
Ohne grosse Umrechnungen der Mausposition usw. geht es in dem man ein Panel benutzt.
Also, lege ein Panel auf die Form und in dieses kommt ein Image. Beim Panel noch AutoSize auf True stellen.

Delphi-Quellcode:
const
  SC_DRAGMOVE = $F012;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DoubleBuffered := True; // wird das Flackern nicht 100% beseitigen aber verbessern
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if Shift = [ssLeft] then // ist linke Maustaste gedrücht, dann...
  begin
    ReleaseCapture; // "Maus an akt. Form binden"
    Panel1.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0); // Panel verschieben
  end;
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat