Entwickler-Ecke
Sonstiges (Delphi) - Neues Fenster
Speedjunkee - Di 30.08.11 20:37
Titel: Neues Fenster
Hey.
Ich möchte (immer noch (hab schon ein Thread zu ner anderen Problematik zu dem Projekt) :D ) ein Tafelwerk zur Berechnung von allen möglichen Naturwissenschaftlichen Dingen erstellen.
Dazu will ich das man beim öffnen des Programmes zunächst im Inhaltsverzeichnis (der Hauptseite praktisch) ist und dies eigentlich auch die ganze Zeit geöffnet bleibt sodass man mit mehreren Einheiten des TW's arbeiten kann. Das heißt also das in meinen Augen die Komponente TabbedNotebock nicht in Frage kommt.
Ich möchte jetzt wissen wie man durch eine OnClick prozedur ein neues Fenster öffnen kann, bzw erstmal wie man ein neues Fenster erstellt.
Vielen Dank für die Hilfe!!
LG :)
Delete - Di 30.08.11 20:58
In der IDE ein neues Fenster erstellen und dann mit Form2.Show aufrufen. Eventuell musst du noch die dazu gehörige Unit einbinden, wenn es die IDE nicht von selber macht.
An alle anderen: Ich weiß, dass man Fenster auch dynamisch erzeugen kann, aber er ist offensichtlich noch Anfänger und da sollte es erst mal so reichen.
jaenicke - Di 30.08.11 21:04
Wofür neue Fenster? Es reicht doch ein Inhaltsverzeichnis, das den Rest umschaltet, oder?
So habe ich das (vom Prinzip her) auch in den Einstellungen meiner Programme gelöst, z.B. hier:
Dafür kann man beim Klick auf den Knoten links in der TreeView die Seite eines PageControls umschalten. Und der Quelltext ist sehr kurz:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TMyForm.TreeViewNavigationChange(Sender: TObject; Node: TTreeNode); begin PageControlX.ActivePageIndex := TreeViewNavigation.Selected.AbsoluteIndex; end; |
Speedjunkee - Mi 31.08.11 17:24
Luckie hat folgendes geschrieben : |
An alle anderen: Ich weiß, dass man Fenster auch dynamisch erzeugen kann, aber er ist offensichtlich noch Anfänger und da sollte es erst mal so reichen. |
Zunächst erstmal: Das ist goldrichtig :D
okay das mit dem Inhaltsverzeichnis ist auch ne Prima Idee. Jedoch möchte ich das man die verschiedenen Anwendungen auch gleichzeitig nutzen kann. Das geht dann ja vom Prinzip her nicht. es sei denn man kann in das Inhaltsverzeichnis eine doppelklick prozedur einbinden kann und sich dann ein neues Fenster öffnet. Aber das wäre dann doch sicher komplizierter oder?
LG
Dude566 - Mi 31.08.11 17:30
Aber im Fokus ist doch sowieso immer nur ein Fenster, von daher kann man das doch auch mit den Tabs realisieren. ;)
Speedjunkee - Do 01.09.11 13:55
Dude566 hat folgendes geschrieben : |
Aber im Fokus ist doch sowieso immer nur ein Fenster, von daher kann man das doch auch mit den Tabs realisieren. ;) |
Naja. Das ist nicht ganz richtig. Klar soll eins im Vordergrund sein, aber das TW soll auch Umrechner beinhalten.
Bsp.: Jemand will Flächeninhalt und Umfang und so für ein Rechteck berechnen und hat die Angaben in cm und in m. Da die Person "rechenfaul" ist klickt sie bei geöffnetem Fenster von der Rechteckberechnung auf einen geeigneten Umrechner im Inhaltsverzeichnis. Der öffnet sich dann parallel und errechnet die Werte. Dann kann er sie in die Rechteckberechnung eingeben und falls er die Werte dann in Kilometer haben muss (für ne Ha zum Bsp) kann er sie wieder in den Umrechner eingeben.
So. Andere Frage :D Wie kann ich dem programm sagen das ein bestimmtes Fenster geschlossen werden soll!?
Form3.close; funktioniert nicht. Wenn ich mich in form 4 befinde wird das geschlossen :(
LG
FinnO - Fr 02.09.11 00:09
dann musst du die entsprechende Unit - bei deiner Nomenklatur rate ich mal "Unit 3" im Uses abschnitt hinzufügen...
Blawen - Fr 02.09.11 22:14
Dude566 hat folgendes geschrieben : |
Aber im Fokus ist doch sowieso immer nur ein Fenster, von daher kann man das doch auch mit den Tabs realisieren. ;) |
Tabs sind bei grossen Projekten nicht unbedingt ideal (Problem der Übersicht im QC).
Persönlich binde ich gerne die Form2 im Form1 ein:
Delphi-Quelltext
1: 2: 3: 4: 5:
| FDebitor_verwalten.Parent := FormularPanel; FDebitor_verwalten.Align := alClient; FDebitor_verwalten.BorderStyle := bsNone; FDebitor_verwalten.WindowState := wsMaxiMized; FDebitor_verwalten.Show; |
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!