![]() |
Fenster Positionieren
Hi alle,
ich hab ein Problem bei der Positionierung eines dynamisch generierten Fensters. Das Fenster wird auf Doppelklick generiert. Code:
Delphi-Quellcode:
Im OnShow Event des Fensters positioniere ich
ms := TMemoryStream.Create;
try ms.WriteComponent(Form13); newform := TForm13.CreateNew(self); ms.Position := 0; ms.ReadComponent(newform); newform.Name := 'Testform1'; //newform.Parent := Form2; newform.Show; finally ms.Free
Delphi-Quellcode:
Das ganze funktioniert so lange ich die Kommentarzeichen von newform.parent := Form2; nicht entferne.
TForm(self).Left := Form2.Left + 300;
TForm(self).Top := Form2.Top + 150; Wenn ich das mache taucht fas Fenster innerhalb des haputfensters an verschiedenen Stellen auf. Je nach dem wo ich das Hauptfenster auf dem Desktop habe. Kann einer helfen??? Gruß Mirko [edit=alcaeus]Delphi-Tags eingefuegt. In Zukunft bitte selbst machen ;) Mfg, alcaeus[/edit] |
Re: Fenster Positionieren
SChau dir mal form.position an. kann sein, dass der falsch gesetzt ist, z.b. auf poWindowCenter (oder so, weiß jetzt gerad den namen nicht auswendig)
|
Re: Fenster Positionieren
Hallo Mirko,
wenn du deinen Quelltext mit den Delphi-Code tags einfasst, dann sieht er gleich viel besser aus und ist auch leichter zu lesen:
Delphi-Quellcode:
Wenn du Top und Left deiner Form setzt, dann musst du bedenken, dass die Koordinaten zu denen des Parent addiert werden. Geht natürlich nur, wenn du Position = poDesigned eingestellt hast.
ms := TMemoryStream.Create;
try ms.WriteComponent(Form13); newform := TForm13.CreateNew(self); ms.Position := 0; ms.ReadComponent(newform); newform.Name := 'Testform1'; // newform.Parent := Form2; newform.Show; finally ms.Free end; Grüße vom marabu |
Re: Fenster Positionieren
Sorry die Tags hatte ich vergessen.
Danke für die Hilfe. Ich hab vergessen, daß bei Parent die Abstände addiert werden. Ich hab jetzt noch ein Problem und zwar funktioniert BoundsRect nicht mehr. Ich will, daß sich der Mauszeiger nur im platzierten Fenster bewegt. MeinCode:
Delphi-Quellcode:
Gruß
TForm(self).Left := 300;
TForm(self).Top := 150; R := TForm(self).BoundsRect; ClipCursor(@R); Mirko |
Re: Fenster Positionieren
Und WAS funktioniert da jetzt nicht? :roll:
|
Re: Fenster Positionieren
Naja der Cursor Clip funktioniert aber an der falschen stelle.
Wenn ich das richtig sehe oben links in der Ecke des Hauptfesnters. So als wäre das Form falsch positioniert. gruß Mirko |
Re: Fenster Positionieren
Bevor du behauptest, dass irgendetwas nicht mehr funktioniert, solltest du dir erst die Hilfe dazu durchlesen.
Zitat:
|
Re: Fenster Positionieren
Danke,
hatte ich übersehen. Gruß Mirko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz