Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Compare TRect, wie am besten angehen?

  Alt 23. Jun 2015, 18:19
Ich kann das aus Zeitgründen nicht genauer nachvollziehen, aber das hier sieht komisch aus:

Delphi-Quellcode:
  R.Right := R.Left + R.Right;
   R.Bottom := R.Top + R.Bottom;
R.Right und R.Bottom sind ja noch nicht richtig zugewiesen. Wolltest Du statt dessen Width und Height verwenden?
Kann das Auswirkungen auf Left und Top haben.?

besser wäre sicher so etwas:

Delphi-Quellcode:
  P := Self.ScreenToClient(Control.ClientToScreen(Point(0, 0)));
  R := TRect.Create(P,X, P,Y, Control.ClientRect.Width, Control.ClientRect.Height);
So fände ich das übersichtlicher.
Ansonsten schau erst mal, ob die Positionen in Bezug auf das Formular überhaupt richtig ermittelt werden.
Bei der Sortierung selbst kann ja dann nicht mehr viel schief gehen.


Dass Align öfter ermittelt wird, damit muss man bei der VCL (und ähnlich auch bei FMX) leben.
Du kannst evtl. selbst einige Werte speichern und beim nächsten Aufruf (vor Deiner Sortierberechnung) prüfen, ob sich an den Ausgangswerten etwas geändert hat. Wenn nicht, einfach nicht neu sortieren.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (23. Jun 2015 um 20:35 Uhr)
  Mit Zitat antworten Zitat