Entwickler-Ecke
Sonstiges (Delphi) - Zwischen 2 und mehr Formularen springen ähnlich Karteireiter
Gintonik - Di 09.01.07 14:33
Titel: Zwischen 2 und mehr Formularen springen ähnlich Karteireiter
Hallo,
folgendes Problem:
Ich habe schon einige Progrämmchen geschrieben aber ich habe das was ich jetzt brauche noch nie benötigt.
Meine Frage:
Womit kann ich zwischen verschiedenen Formen hin und herspringen ohne das über ein "MainMenu" zu machen. Am liebsten hätte ich Karteireiter, wie man sie z.B. aus dem Druckertreiber o.ä. kennt. Ich muss nachher bei meinem Proggy schnell zwischen den Formularen wechseln können.
MfG Marcel...
nivosta - Di 09.01.07 14:39
Hi Marcel,
leg die Formulare doch einfach auf einem Tabsheet ab. Ween diese dynamisch generiert werden kannst du diese auch zur laufzeit dem tabsheet zuweisen.
Gruß
Hubert
Saubäär - Di 09.01.07 14:39
Hi Gintonik,
meinst du vllt. 'TabControl' im Reiter 'Win32' falls du das hast?
Gruß
Saubäär
nivosta - Di 09.01.07 14:40
Hi Marcel,
leg die Formulare doch einfach auf einem Tabsheet ab. Wenn diese dynamisch generiert werden kannst du diese auch zur laufzeit dem tabsheet zuweisen.
Gruß
Huber
Gintonik - Di 09.01.07 14:40
Was ist ein TabSheet und wo finde ich das ?
Im Prinzip müsste ich nichts zur laufzeit generieren, ich habe feste Programmbestandteile.
Gintonik - Di 09.01.07 14:42
@ Saubär
TabControl habe ich. Aber wie nutze ich es ?
Thx
Saubäär - Di 09.01.07 14:44
Hi Marcel,
im Objectinspektor gibs 'Tabs' (TStrings) da kannste die Namen eintippen, und dann kannst du zwischen den Reitern hin- und her klicken.
Gruß
Bäär
nivosta - Di 09.01.07 14:45
Jo hiess früher mal Tabsheet heute Tabcontrol.
Einfach über den PE 1-n Controls anlegen und die Formulare dem Control zuweisen, oder nur eine Controlleiste anlegen und im onChange Event das Formular nach vorne bringen.
freedy - Di 09.01.07 14:45
Hi!
Komponente auf ein TForm, im Designer rechte Maustaste, neue Seite anlegen. Alles Restliche ist durch die Properties bzw. Hilfe sehr gut beschrieben.
Gruß
Gintonik - Di 09.01.07 14:46
@ Saubäär
Danke, geht hervorragend.
Aber wie kann ich jetzt die einzelnen Reiter programmieren ?
Gintonik - Di 09.01.07 14:54
@ alle
ich bekomme das nicht hin, dem TabControl ein oder mehrere Formulare zuzuweisen. In welchem Punkt im Projekt Inspektor mache ich das.
Das mit der Hilfe ist bei meiner Version bisschen schwierig, habe D7 Ent. English...
Thx
Saubäär - Di 09.01.07 15:00
Hi Marcel,
ich bekomms auch nicht hin, aber mit dem PageControl gleich rechts daneben gehts prima. Du solltest vllt. eher das nehmen.
Gruß
Bäär
//EDIT Die Reiter heißen dann auch wieder Tabsheets :wink:
IngoD7 - Di 09.01.07 15:01
Gintonik hat folgendes geschrieben: |
@ alle
ich bekomme das nicht hin, dem TabControl ein oder mehrere Formulare zuzuweisen. In welchem Punkt im Projekt Inspektor mache ich das.
Das mit der Hilfe ist bei meiner Version bisschen schwierig, habe D7 Ent. English...
Thx |
Tja, wieso man sich wohl die englische Version von D7E kauft ...? :gruebel:
Im Objektinspektor bekommst du an die Eigenschaft Parent nicht heran.
freedy - Di 09.01.07 15:02
Du darfst einem Tab KEINE Formulare zuweisen. Ein Tabsheet bietet dir die Möglichkeit die Komponenten aufzunehmen. Solltest du deine Formulare inzwischen fertig haben, musst du die wohl oder übel "neu" machen. Es geht auch mit Copy-Paste. Evtl musst du dann die dahinter liegenenden Prozeduren und Funktionen etwas anpassen. Sollte aber keine Schwierigkeit sein.
Zum Test: Probier doch mal, zwei Seiten anzulegen, packe auf jedes zwei unterschiede Komponenten. Dann siehst du vielleicht schon, was gemeint ist. Du kannst ja zur Designzeit hin- und herwechseln.
Gintonik - Di 09.01.07 15:11
Sorry,
jetzt bin ich total durcheinander.
Ich habe angelegt: Ein TabControl1 mit 3 TStrings.
Ziehe ich jetzt z.B. ein Label1 darauf, so bleibt es beim Wechsel bei den drei Reitern sichtbar. Ist ja auch logisch, weil ich es keiner Seite zugeordnet habe. Wie erstelle ich jetzt eine neue "Seite" und weise diese dem TabControl zu?
Ist eine Seite ein "Frame" oder liege ich da ganz falsch.
Ich komme mir richtig blöd vor euch mit so Änfängerdinger zu belästigen, aber ich habe noch nie mit den Dingern gearbeitet und mein Delphi-Buch für 50€ geht auch nicht darauf ein :-(
Saubäär - Di 09.01.07 15:16
PageControl
Guck mal n paar Beiträge weiter oben :wink:
Gruß
Bäär
IngoD7 - Di 09.01.07 15:17
freedy hat folgendes geschrieben: |
| Du darfst einem Tab KEINE Formulare zuweisen. |
Wieso nicht?
Ansonsten: Nimm ein TPagecontrol. Das ist eher das, was du suchst. Rechte Maustaste drauf --> Neue Seite ==> und schon hast du ein TabSheet auf deinem Pagecontrol. Und dem TabSheet kannst du zur Laufzeit ein Formular zuweisen (über die Eigenschaft Parent des Formulars).
Gintonik - Di 09.01.07 15:18
DANKE JUNGS !!!
Ich habe jetzt eine Lösung gefunden mit der Page-Control.
Wie gesagt, habt vielen Dank.
Ich denke ich werde beim Coden das ein oder andere mal nochmal auf euch zukommen.
Und wenn ich fertig bin, gehen wir mal ein Bier trinken...
THX Marcel...
freedy - Di 09.01.07 15:45
IngoD7 hat folgendes geschrieben: |
freedy hat folgendes geschrieben: | | Du darfst einem Tab KEINE Formulare zuweisen. |
Wieso nicht?
Ansonsten: Nimm ein TPagecontrol. Das ist eher das, was du suchst. Rechte Maustaste drauf --> Neue Seite ==> und schon hast du ein TabSheet auf deinem Pagecontrol. Und dem TabSheet kannst du zur Laufzeit ein Formular zuweisen (über die Eigenschaft Parent des Formulars). |
Ja, doch... schon... ich war beim PageControl. :roll:
IngoD7 - Di 09.01.07 16:02
freedy hat folgendes geschrieben: |
IngoD7 hat folgendes geschrieben: | freedy hat folgendes geschrieben: | | Du darfst einem Tab KEINE Formulare zuweisen. |
Wieso nicht?
|
Ja, doch... schon... ich war beim PageControl. :roll: |
Ich eigentlich auch - also beim TabSheet auf einem PageControl. ;-)
Aber selbst dem PageControl direkt kann man (delphi-technisch betrachtet) zur Laufzeit ein Form zuweisen. Sieht nur'n bisschen dämlich aus, weil es "etwas unkontrolliert" mit vorhandenen TabSheets interagiert. Nebenbei fehlt dazu allerdings auch ein sinnvoller Anwendungsfall ... :nut:
freedy - Di 09.01.07 16:23
Wohl richtig. Ich habe mal gelernt, sauber zu proggen. Von daher versuche ich auch, die Komponenten nicht sinnlosen Zwecken zu entlehnen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!