Einzelnen Beitrag anzeigen

hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#1

TImage flackert beim Verschieben wenn Mauszeiger über Bild

  Alt 20. Jun 2009, 20:32
Der Titel sagt schon fast alles. Und zwar habe ich eine Funktion implementiert, dass ich ein Bild (TImage) auf meinem Formular hin und herschieben kann. Das klappt auch super, aber nur solange der Mauszeiger nicht über dem Bild ist. Dann fängt das Bild bisschen an zu flackern, heißt es springt immer einen Pixel weg und dann wieder zurück, anstatt dass es sich um einen Pixel verschiebt.

Mein Code sieht bis jetzt so aus:
Delphi-Quellcode:
var XAlt, YAlt: Integer;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  XAlt := X;
  YAlt := Y;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if ssMiddle in Shift then begin
    Image1.Left := Image1.Left + (X - XAlt);
    Image1.Top := Image1.Top + (Y - YAlt);
  end;
  XAlt := X;
  YAlt := Y;
end;
FormMouseDown und FormMouseMove ist natürlich auch in die Ereignisbehandlung onMouseMove und onMouseDown des Images rein geschrieben. Form1.DoubleBuffered ist außerdem auf true.
  Mit Zitat antworten Zitat