Einzelnen Beitrag anzeigen

Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#1

TObject Bewegung auf MouseMove

  Alt 22. Aug 2007, 11:14
Hallo,
ich habe ein kleines Problem bei der Bewegung meines Panels. Und zwar soll das panel jedem Mausschritt genau 'verfolgen'.

Z.B.: Ich habe ein 100x100 Pixel großes Label und bewege dann die Maus von der Mitte aus (50x50 Pixel) nach 50x100. Dabei passiert gar nichts, obwohl der MouseMove eintrifft... Erst wenn ich die Maus über den Rand des Labels herausschiebe, dann erst wird das Label neu gezeichnet!
*Am besten ihr testet es mal selber, es sieht aus als ob es laggt*

Jetzt stellen sich 2 Fragen:
-Warum zeichnet sich das laben bei den ersten MouseMove´s nicht neu?
-Wie könnte ich es hinbekommen, dass es sich neuzeichnet?


Delphi-Quellcode:
//Kleiner Auschnitt meines Projekts, reduziert auf die Problematik
unit Test;
interface
uses
  Forms, ExtCtrls, Controls, Classes;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
end;
var
  Form1: TForm1;
implementation
{$R *.dfm}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Panel1.Left:=X-50;
  Panel1.Top:=Y-50;
end;

end
*Bin Delphi-Anfänger, also macht mich fertig wenn was falsch ist!*

Ich hoffe ich habe mich nicht zu komplizier ausgedrückt und ihr wisst eine Lösung.
Vielen Dank schonmal im Vorraus!

MfG spawn

Edit: Ja die Suchfunktion hab ich schon ausgiebig durchstöbert...
  Mit Zitat antworten Zitat