![]() |
Mit Button-klick eine neue Fenster öffnen
Hi
Kann mich jemand helfen? Ich muss für meine Projektarbeit ein Programm mit Delphi 3 pro erstellen. Es handelt sich um ein Programm um die Medien der Lehrerbibliothek in meine Schule zu verwalten. D.h. die Lehrer können die medien suchen und entleihen können so wie in eine normale Bibliothek. Aber meine Kenntnisse mit delphi sind nicht so viele. Ich möchte dass wenn man auf einen Button klickt eine neue Formular erscheint z.B Form2. Kann mir jemand sagen wie der Quelltext aussieht? Das wäre nett von euch!! Ciao by chiara87 |
Re: Mit Button-klick eine neue Fenster öffnen
Delphi-Quellcode:
mehr sollts nicht gewesen sein...
Form2.Show;
ansonsten bekommst du von
Delphi-Quellcode:
Einen Rückgabewert, der dir sagt, auf welchen Button der User geklickt hat, um das Fenster zu schließen. Das solltest du dann bei dem Button bei
Form2.Showmodal;
![]() |
Noch eine frage
danke
noch eine frage? Muss die Formulare verknüpfen damit Form2 erkannt wird? |
Re: Mit Button-klick eine neue Fenster öffnen
Wenn du das Formular dauerhaft anzeigen willst, dann würd ich es auch so machen wie vorgeschlagen..wenn es aber ein Dialog sein soll (also das Hauptprogramm soll solange warten, bis der User in dem Formular fertig ist) würd ich eher dynamisch Aufrufen...find ich eleganter und effektiver (Resourcen sind nur belegt wenn auch gebraucht)..hierzu legst du das Form2 ganz normal als unit an und dann folgender Code im Hauptprogramm:
Code:
zum Verknüpfen: die Unit des untergeordneten Formulares muss in den Uses des Hauptformulars stehen
uses ..,Form2,..
procedure TForm1.ShowForm2; var Form2 : TForm2; begin Form2 := TForm2.Create(nil); //statt nil kann hier auch die übergeordnete Komponente angegeben werden (zB Form1) try if Form2.ShowModal = mrOk then //code finally Form2.Free; end; end; |
Re: Mit Button-klick eine neue Fenster öffnen
Klar. Es empfiehlt sich manchmal auch, das "var Form2: TForm2" aus unit2 (und der liste der autmatisch erzeugten fenster) herauszunehmen und in die hauptunit (vorzugsweise als private-feld in Form1) zu verlegen. Dann kann man es manuell über "form2 := TForm2.Create" erzeugen.
//Roter Kasten: Ja... genau so... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 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