Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Umschalten zwischen Formularen (https://www.delphipraxis.net/5519-umschalten-zwischen-formularen.html)

Master_BB 10. Jun 2003 06:41


Umschalten zwischen Formularen
 
Hy,
ich hab das Problem das ich nicht genau weiß was nun die beste lösung ist um von einem Formular per Knopfdruck ein anderes anzeigen zu lassen und das gerade geklickte verschwinden zu lassen.
Wenn ichs per Form1.Hide, Form2.Show mache kommt beim 2ten oder dritten umschalten zwischen den Formularen ein Fehler.
Wenn ich es mit create(self) bauen will gehts nicht kommt immer ein Fehler direkt beim Projektcode. Und die Lösung mit Visible True und False finde ich irgentwie schlecht. Kann mir einer helfen wie man das ordentlich machen kann, bzw wie macht ihr es?

r_kerber 10. Jun 2003 07:56

Ich schalte nicht zwischen Formularen um. Ich lege zunächst auf auf jede Form ein Panel. In diesem Panel baue ich dann das komplette Formular auf. Der Wechsel erfolgt durch Zuweisung von Panel.Owner. Hierzu gab es vor einiger Zeit mal einen Artikel im Entwickler. Wenn Du willst, kann ich Dir heute abend mal ein Code-Schnipsel zur Verfügung stellen!

roderich 10. Jun 2003 09:22

hi Rainer,

ich vermute mal einen Freudschen Verschreiber bei Dir, Du meinst Panel.Parent statt Panel.Owner, oder ?!?

Deine Idee ist echt genial einfach, bin echt bisher (8 Jahre Delphi) nicht drauf gekommen.

v. Grüße
Roderich

r_kerber 10. Jun 2003 09:35

Da könntest Du recht haben. Ich habe da sicher etwas verwechselt. Benötigt wird zwar beides, aber ich glaube, Wechsel läuft über Parent. Ich habe aber zu Zeit den Quellcode nicht vor mir liegen. Und wie gesagt, die Idee ist nicht von mir! (entweder aus "Der Entwickler" oder "Toolbox"

Master_BB 10. Jun 2003 15:18

hey rainer,
wäre echt schön wenn du mir nen prog schickst wo so umgeschaltet wird zwischen 2 formularen

am besten an meine mail addy Master_BB@gmx.de

THX für die Hilfe

Greetz
Master_BB

r_kerber 10. Jun 2003 16:52

Kein komplettes Programm aber einen Code-Schnipsel, der Dir hoffentlich weiter hilft:
Delphi-Quellcode:
procedure TfMain.aFehlerlisteExecute(Sender: TObject);
begin
  if pMain.ControlCount = 1 then
    pMain.Controls[0].Parent := TWinControl (pMain.Controls[0].Owner);
  fFehlerliste.pMain.Parent := pMain;
end;
Zur Erläuterung:
  • auf jedem Form gibt es als erstes ein Panel mit dem Namen pMain
  • in dem vorliegenden Beispiel soll anstelle des aktuellen Panels pMain das Panel pMain des Formulare fFehlerListe angezeigt werden
  • Vorher wird das aktuell gezeigte pMain seinem Eigentümer zurückgegeben.

Master_BB 10. Jun 2003 17:16

hm ich bin noch ziemlicher anfänger in delphi mach das erst seit ca 4 monaten. kannste nciht nen kleines programm schreiben wo du 2 formulare hast in dem einen nen label wo drin steht formular 1 und bei dem anderen nen label wo steht formular2 ? BITTE
ich muß es im ganzen sehn um es zu lernen

Stanlay Hanks 10. Jun 2003 17:21

Was auch noch gehen könnte wären frames. Nur so als Vorschlag.

r_kerber 10. Jun 2003 17:37

Liste der Anhänge anzeigen (Anzahl: 1)
Anfänger und dann die Enterprise-Version?

Stanlay Hanks 10. Jun 2003 17:53

Zitat:

Zitat von r_kerber
Anfänger und dann die Enterprise-Version?

Ich denke, das is doch jedem selber überlassen, oder :wink: Außerdem: Der eine kann sich das leisten, der andere nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz