Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Fensterposition speichern bzw ändern
Noctis - So 04.03.07 15:24
Titel: Fensterposition speichern bzw ändern
Moin,
Da ich nicht genau wusste wo ich das hin posten kann, habe ich es einfach mal hier hin gepackt.
Also ich habe erst vor kurzem mit Delphi angefangen und suche nun Hilfe bei folgender Aufgabe:
erstellt habe ich schon:
2 Formen mit 2 identischen Main Menus
..einige Funktionen
Ich habe schon einmal das Layout + Funktionen in beiden Formen programmiert. Mir fehlt jetzt noch, dass wenn ich über Form 1 nach Form 2 gehe, er die erste Form schließt (close;) und die zweite Form mit genau der selben Größe bzw an genau der selben Position wie FOrm 1 wieder öffnet. Ich will damit erreichen, dass der Anwender nicht merkt, dass ich eine neue Form öffne, sondern er soll denken, dass alles in ein und der selben Form stattfindet.
Danke schon einmal im Voraus
mfg Max
Moderiert von
Gausi: Topic aus Sonstiges (Delphi) verschoben am So 04.03.2007 um 14:58
elundril - So 04.03.07 15:30
mit
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Close(Sender: TObject); begin Form2.Top:=Form1.Top; Form2.Left:=Form1.Left; Form2.width:=Form1.width; Form2.height:=Form1.height; end; |
aber wozu das ganze??
lg el
HelgeLange - So 04.03.07 15:32
naja, das Schliessen und Öffnen wird der Anwender mitbekommen. Ausserdem wirst Du ein Problem haben, da ja das erste Form auch Dein Application.MainForm ist und wenn Du es schliesst, schliesst Du die Anwendung.
Was Du machen kannst, ist ein leeres Form gaz am Anfang, mit der von dir gewünschten Grösse und Position, die beiden anderen erstellst Du dynamisch und und hängst sie ins erste rein, dazu musst Du den Parent auf das leere form setzen und BorderStyle auf bsNone.
Noctis - So 04.03.07 15:53
HelgeLange hat folgendes geschrieben: |
[...] erstellst Du dynamisch und und hängst sie ins erste rein, dazu musst Du den Parent auf das leere form setzen und BorderStyle auf bsNone. |
genau damit habe ich ja ein Problem.
wie soll ich das auf die leere Form setzen?
mfg
Gausi - So 04.03.07 15:57
Was spricht gegen die Verwendung einer Komponente wie TPageControl? Die Tabs oben kann man ja auch ausblenden...
Noctis - So 04.03.07 16:04
TPageControl ist sicher eine ansprechende Variante, jedoch ist die Hilfe Funktion bei Delphi sehr geizig mit Informationen für einen Anfänger..darum ersuche ich ja euch um Hilfe :-)
mfg
Xion - So 04.03.07 16:05
oder du nimmst ein TPanel, schaltest es auf bsNone und alClient und packst da alles aus deiner Form1 drauf. Dann nimmst noch ein Panel und packst da das von Form2 drauf. Panel1.BringtoFront, und schon hast du deine Form1 da. Panel2.BringtoFront, und schon ist da deine 2.Form.
Gausi - So 04.03.07 16:09
Du ziehst einfach so ein PageControl auf deine Form, mit Rechtsklick->Neue Seite erstellst du neue Seiten. Die Eigenschaft TabVisible der jeweiligen TabSheets blendet das Tab oben aus, und per ActivePage kannst du z.B. bei einem Buttonklick eine andere Seite anzeigen lassen.
Das mit den Panels geht natürlich auch, ist aber zur Entwurfszeit dann etwas unübersichtlich auf der Form ;-)
Noctis - So 04.03.07 16:25
ahh okay danke, jetzt haut alles hin ;)
mfg
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!