Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism in Programm Seite wechseln (https://www.delphipraxis.net/75577-programm-seite-wechseln.html)

Faker 21. Aug 2006 21:17


in Programm Seite wechseln
 
hi @ll

hab ein sehr schwierige Frage. Ich brauche aber eine Beantwortung um mein Programm zu schreiben.

Wenn ich auf einen Button im Programm drücke z.b. 'next side' dann soll er ein ganz neues Formular laden. Aber nicht in einen neuen Fenster.

Ich weis nicht wo ich da anfangen sollte :|


Was ich weis ist das ich hald für eine neue Seite ein neues Formular machen muss, aber WIE ich dann das neue Formular aufruf und das alte schließe das weis ich nicht. (Darf ja das MainFenster net schließen sonst ist Programende)


vll kann mir einer weiter helfen thx


mfg

[edit=alcaeus]Schreibfehler in Titel korrigiert. Mfg, alcaeus[/edit]

leddl 21. Aug 2006 21:25

Re: in Programm Seite wächseln
 
Nimm für jedes neue "Formular" ein Panel, befülle das, wie du es brauchst und arbeite mit
Delphi-Quellcode:
PanelX.BringToFront;

faux 21. Aug 2006 21:51

Re: in Programm Seite wächseln
 
Oder mit Frames oder TJvWizard arbeiten. Wobei ich Leddls Methode vorziehen würde, sie jedoch etwas unangenehm zu Designen ist.

Grüße
Faux

leddl 21. Aug 2006 21:59

Re: in Programm Seite wächseln
 
Zitat:

Zitat von faux
Wobei ich Leddls Methode vorziehen würde, sie jedoch etwas unangenehm zu Designen ist.

Wieso? :gruebel: Solange man nicht alle Seiten auf einmal designen will, sondern sich von vorne nach hinten durcharbeitet, ist das doch kein Problem ;)

Noch einfacher gehts natürlich mit nem PageControl (mit ausgeblendeten Tabs --> TabVisible auf false)Ist aber im Endeffekt nichts anderes ;)

faux 21. Aug 2006 22:01

Re: in Programm Seite wächseln
 
Zitat:

Zitat von leddl
Zitat:

Zitat von faux
Wobei ich Leddls Methode vorziehen würde, sie jedoch etwas unangenehm zu Designen ist.

Wieso? :gruebel: Solange man nicht alle Seiten auf einmal designen will, sondern sich von vorne nach hinten durcharbeitet, ist das doch kein Problem ;)

Das nicht, aber wenn mir nach Seite 2 einfällt, dass icha uf Seite 1 noch was ändern will, wirds umständlich... :?

Grüße
Faux

leddl 21. Aug 2006 22:07

Re: in Programm Seite wächseln
 
Zitat:

Zitat von faux
Das nicht, aber wenn mir nach Seite 2 einfällt, dass icha uf Seite 1 noch was ändern will, wirds umständlich... :?

Ein paar mal Rechtsklick, SendToBack und schon ist man wieder bei Seite 1 ;) Oder eben wie gesagt das PageControl und direkt die richtige Seite anwählen.

Faker 21. Aug 2006 22:07

Re: in Programm Seite wächseln
 
Zitat:

Zitat von leddl
Nimm für jedes neue "Formular" ein Panel, befülle das, wie du es brauchst und arbeite mit
Delphi-Quellcode:
PanelX.BringToFront;

hi danke für die Beantwortung ich denke das ich mit dem oben genannten Beispiel arbeiten werde.

Nur noch die Frage zu diesen Befehl: (müsst ihr nicht beantworten muss ja schließlich selbst rumprobieren und werde es ja dann sehn ;D )
Da ich erst noch Newbie mit Delphi bin, frag ich :D.

Wenn ich jetzt also im Form1 den Button nehm und sag wenn er geklickt wird dann dies und das erfüllt ist soll er From2.bringtofront; machen oder? Was passiert dann mit der Form1 Seite? Wird die einfach weggeschalten oder lauft die im Hintergrund?

Hab mir schon Beispiele mit Form2.ShowModal; Form1.hide; angeguckt nur da läuft ja die Form1 Seite weiter und Form2 kommt in einen extra Fenster d.h. würde ich jetzt mehrere Seiten machen würd ich Fenster über Fenster haben :D.


mfg

ps: sry wegen meinen SEHR schlechten Deutsch und wie schon erwähnt Danke für die Beantwortung :thumb: :thumb:

boa ihr schreibt extrem schnell :D kaum hab ich das hier fertig sind wieder neue Einträge drin da komm ich ja nicht mit ^^

leddl 21. Aug 2006 22:13

Re: in Programm Seite wächseln
 
Zitat:

Zitat von Faker
Wenn ich jetzt also im Form1 den Button nehm und sag wenn er geklickt wird dann dies und das erfüllt ist soll er From2.bringtofront; machen oder? Was passiert dann mit der Form1 Seite? Wird die einfach weggeschalten oder lauft die im Hintergrund?

Nein, du sollst auf deinem Form1 für jede deiner gewünschten Seiten ein Panel erstellen und es zB auf volle Fenstergröße setzen. Damit hast du dann mehrere "Seiten" innerhalb eines einzigen Fensters.
Etwas einfach ist es aber wie gesagt natürlich mit der PageControl.

lizardking 21. Aug 2006 23:08

Re: in Programm Seite wächseln
 
Zitat:

Zitat von faux
Das nicht, aber wenn mir nach Seite 2 einfällt, dass icha uf Seite 1 noch was ändern will, wirds umständlich... :?

Grüße
Faux

Meiner Meinung nach am einfachsten ist noch die Variante ein Pagecontrol zu benutzen und dann im Create die Tabs auszublenden. Sehr komfortabel zur Designtime und die eine Zeile Code pro Page im Create bringt einen auch nicht um ;)

DennisHB 21. Aug 2006 23:24

Re: in Programm Seite wechseln
 
Je nach Aufbau des Programm würd ich auf Frames setzen.

Grund:

Zur Designzeit leichtes Arbeiten an den einzelnen "Seiten".
Der Code wird auf mehrere Units verteilt und bleibt übersichtlicher.
Eine "Seite" ist wieder verwertbar.
Die Seiten können einfacher dynamisch erstellt werden.
TPageControl hat Glaub ich einen Rahmen (1 Pixel wenn ich nicht irre) den man nicht ausschalten kann.

Faker 31. Aug 2006 20:05

Re: in Programm Seite wechseln
 
Sry das ich nochmal schreib :( aber irgendwas geht net.

Also ich hab jetzt wenn er den Button klickt dann soll er unit2.BringToFront; machen

Nur zur Aufklärung ich hab das ganze als Projekt gespeichert und ruf deswegen die unit2 auf (die heisst auch so im Ordner!). Mein Problem ist aber ... das dies nicht funktioniert. Was muss ich da machen?!

faux 31. Aug 2006 20:26

Re: in Programm Seite wechseln
 
Hallo!

Zitat:

Zitat von Faker
unit2.BringToFront;

Probiers mal mit PanelX.BringToFront; (oder wie auch immer dein Panel heißt). Denn die Unit selbst wirst du kaum nach forne Bringen können. ;)

Grüße
Faux

Faker 31. Aug 2006 20:42

Re: in Programm Seite wechseln
 
hmm...

Danke mal wieder aber es geht immer noch nicht xD ich glaub ich check das Programm noch nicht.

Wenn ich BringToFront mach dann steht unten ->[Pascal Fehler] Unit1.pas(1): Die Programmierhilfe kann nicht aufgerufen werden, da der Quelltext Fehler enthält

:/ man ich bin schon wieder so verzweifelt verdammt das gibts einfach nicht. Als ich meine ersten Übungen mit Delphi gemacht hab in EINEN Formular ging alles so leicht und sooo schnell zu kapieren. und jetzt häng ich nur weil ich die Seite wächseln will :wall: :cry:

hmm... ich seh schon ich muss mir ein neues buch kaufen das scheiss 'Grundkurs Programmieren mit Delphi' Buch hilft mir überhaupt nicht weiter. und hat mir eigentlich so gut wie nichts beigebracht. hab jetzt vorhin mal das wort 'BringToFront' makiert in Delphi und dann auf F1 gedrückt ... dort haben sie es als producer geschrieben. Meins geht vll dann nicht weil ich eben das NICHT als Producer hab. . . .

naja ich guck mich nach nen neuen Buch um


mfg Faker

PS: Man ist das kompliziert


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 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 by Thomas Breitkreuz