Hallo
DP und FireMonkeyspezialisten,
beim Bauen von ein paar FMX-Komponenten bin ich auf TPosition.OnChange gestoßen.
Über dieses Ereignis sollte man doch Positionsänderungen des übergeordneten Objekts ermitteln können. So würde ich es jedenfalls verstehen.
Bei meinen Versuchen damit kam aber nur heraus, dass man die Position der entsprechenden Komponente nicht mehr ändern kann, sobald ein Eventhandler zugewiesen wird. Zumindest werden Änderungen nicht mehr angezeigt.
Selbst wenn der Eventhandler rein gar nichts tut.
Vermutlich ist das auch wieder so ein Styleproblem
, bei dem ich allerdings bisher noch keine Lösung gefunden habe. Was muss der OnChange-Eventhandler machen, damit die Änderungen auch sichtbar werden? (Habe im Sammelthread was von PaintRects gelesen. Kommt man damit weiter?)
Grüße,
Uwe
P.S.: Im Code sieht das Ganze eigentlich recht trivial aus (beispielsweise bei SetX):
Delphi-Quellcode:
procedure TPosition.SetX(const Value: Single);
begin
if FX <> Value then
begin
FX := Value;
if Assigned(OnChange) then
OnChange(Self);
end;
end;