Move Methode, OnMove Event gesucht
-
- Beiträge: 142
- Registriert: Sa 30. Jan 2010, 19:35
- OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
- CPU-Target: xxBit
Move Methode, OnMove Event gesucht
Ich möchte Programmcode ausführen, wenn sich das Fenster über den Bildschirm bewegt. In der ebenfalls delphi-orientierten WDSibyl Bibiliothek/Entwicklungsumgebung gibt es eine tControl.Move Methode und ein tControl.OnMove Event, vergleichbar mit Resize und OnResize. Wie geht das mit LCL ? Was genau kann man mit BoundsChanged machen?
Falls jemand wissen will, was ich damit bezwecken will: Letztlich muss ich abfragen, ob das Fenster vollständig sichtbar ist oder aus dem Bildschirm herausragt oder von einem anderen Fenster (teilweise) überdeckt ist, weil ich dann unterschiedliche Redraw Funktionen verwende (Zeitersparnis). Unter WDsibyl läuft es schon zufriedenstellend.
Falls jemand wissen will, was ich damit bezwecken will: Letztlich muss ich abfragen, ob das Fenster vollständig sichtbar ist oder aus dem Bildschirm herausragt oder von einem anderen Fenster (teilweise) überdeckt ist, weil ich dann unterschiedliche Redraw Funktionen verwende (Zeitersparnis). Unter WDsibyl läuft es schon zufriedenstellend.
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2636
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Move Methode, OnMove Event gesucht
Genau, mit OnChangeBounds wird immer bei Größen- und Positionsänderungen des Forms aufgerufen. Sollte also genau das richtige für deinen Zweck sein.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Move Methode, OnMove Event gesucht
Hi!
Warum probierst Du es nicht einfach aus??
Aber : Du kannst OnChangeBounds auch als OnFormMove benutzen.
Reagiert allerdings auch wenn die Größe der Form geändert wird.
Winni
Warum probierst Du es nicht einfach aus??
Aber : Du kannst OnChangeBounds auch als OnFormMove benutzen.
Reagiert allerdings auch wenn die Größe der Form geändert wird.
Winni
-
- Beiträge: 142
- Registriert: Sa 30. Jan 2010, 19:35
- OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
- CPU-Target: xxBit
Re: Move Methode, OnMove Event gesucht
Leider wird beim Bewegen der Form ChangeBounds nicht aufgerufen, sondern nur bei einer Veränderung der Größe des Fensters, wie bei Resize. Welche Methode wird aufgerufen? Unter klassischer Windows-Fensterprogrammierung wäre es WM_MOVE.
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Move Methode, OnMove Event gesucht
Hi!
?????
Verschieden bei den verschiedenen Betriebssystemen?
Bei mir wird ChangeBounds jedesmal gerufen, wenn ich die Form bewege.
Getestet.
Lin64, gtk2, fpc 3.01, laz 2.08
Winni
?????
Verschieden bei den verschiedenen Betriebssystemen?
Bei mir wird ChangeBounds jedesmal gerufen, wenn ich die Form bewege.
Getestet.
Lin64, gtk2, fpc 3.01, laz 2.08
Winni
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Move Methode, OnMove Event gesucht
Hi!
Das ist wohl eine fehlerhafte Information Deinerseits über ChangeBounds:
Gerade getestet auf win7/64:
Löst brav jedesmal aus, wenn die Form bewegt wird.
Also: ChangeBounds ist das Richtige für die gestellte Frage.
Winni
Das ist wohl eine fehlerhafte Information Deinerseits über ChangeBounds:
Gerade getestet auf win7/64:
Löst brav jedesmal aus, wenn die Form bewegt wird.
Also: ChangeBounds ist das Richtige für die gestellte Frage.
Winni
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2636
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Move Methode, OnMove Event gesucht
Martin V hat geschrieben:Leider wird beim Bewegen der Form ChangeBounds nicht aufgerufen, sondern nur bei einer Veränderung der Größe des Fensters, wie bei Resize.
Weleche Version von Lazarus verwendest du? Die aus deiner Signatur wird es ja hoffentlich nicht mehr sein.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 142
- Registriert: Sa 30. Jan 2010, 19:35
- OS, Lazarus, FPC: Linux64, Wiindows32, MacOS, Lazarus 1.8.2
- CPU-Target: xxBit
Re: Move Methode, OnMove Event gesucht
Ich benutze Lazarus 1.8.2 unter Windows32 (das Problem habe ich hier getestet), dann Linux64 und MacOS.
Es ist tatsächlich wohl ein Bug in dieser älteren Version. Dann muss ich wohl mal wieder alle meine Installationen updaten.
Es ist tatsächlich wohl ein Bug in dieser älteren Version. Dann muss ich wohl mal wieder alle meine Installationen updaten.