AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Pagecontrol oder Frames

Ein Thema von brunoM · begonnen am 22. Nov 2013 · letzter Beitrag vom 22. Nov 2013
Antwort Antwort
Seite 1 von 2  1 2   
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#1

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 06:24
Wir haben bei uns in der Software beides. Ich finde die Lösung von Lemmy am interessantesten, da zumindest D2007 bei Änderungen im Frame nicht immer mitkommt und man den im Parentform dann erst wieder entfernen und einfügen muss. Zudem zwingt einen die Lösung sauberer zu kapseln (siehe Zaun-Wink).
  Mit Zitat antworten Zitat
brunoM

Registriert seit: 19. Jul 2006
Ort: CH-3123 Belp
62 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 07:11
Hallo und vorerst mal besten Dank für eure Antworten.
Das mit den Forms tönt gut - ich brauch nur noch ein bisschen Starthilfe. Wie ist das gemeint? Ein Panel im Hauptprogramm wird mit einem anderen Formular, welches die entsprechenden Komponenten enthält verlinkt und dieses verhält sich dann wie ein Tabsheet eines Pagecontrols...? Meine Frage wie genau setze ich die Parameter? Oder geht das Ganze in Richtung MDI-Anwendung?

Sorry wegen meiner Fragerei....
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 07:25
kein Thema... ist eigentlich ganz einfach. Im Anhang eine kleine Testapp (mit viiiiiiiel Verbesserungspotential )

Im Grunde baust Du ein "normales" Form, erzeugst es und setzt ein paar Eigenschaften:

Delphi-Quellcode:

  frm := TKunden.Create(nil);
  frm.Parent := Panel2;
  frm.BorderStyle := bsNone;
  frm.Align := alClient;
Speichermanangement usw. musst Du halt entsprechend selbst in die Hand nehmen...
Angehängte Dateien
Dateityp: zip FormsAlsFrames.zip (11,1 KB, 37x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 08:24
Im Grunde baust Du ein "normales" Form, erzeugst es und setzt ein paar Eigenschaften:

Delphi-Quellcode:

  frm := TKunden.Create(nil);
  frm.Parent := Panel2;
  frm.BorderStyle := bsNone;
  frm.Align := alClient;
Wenn ich das aber so mache, dann habe ich das Problem, wenn die Hauptanwendung auf einem zweiten Bildschirm ist, sehe ich auf dem 1. Bildschirm ganz kurz das Fenster beim Erzeugen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.875 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 08:28
Zitat:
Wenn ich das aber so mache, dann habe ich das Problem, wenn die Hauptanwendung auf einem zweiten Bildschirm ist, sehe ich auf dem 1. Bildschirm ganz kurz das Fenster beim Erzeugen.
Da kein Show aufgerufen wird, sollte das Fenster nicht angezeigt werden. Ich würde auch von einem TFrame und nicht von einer TForm ableiten
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 08:32
Da kein Show aufgerufen wird, sollte das Fenster nicht angezeigt werden. Ich würde auch von einem TFrame und nicht von einer TForm ableiten
Wenn man aber von einem Frame ableitet, hat man nicht mehr die Docking-Funktion, so wie Lemmy geschrieben hat.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#7

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 08:35
Wenn ich das aber so mache, dann habe ich das Problem, wenn die Hauptanwendung auf einem zweiten Bildschirm ist, sehe ich auf dem 1. Bildschirm ganz kurz das Fenster beim Erzeugen.
Wenn du in der Form das Visible auf False setzt, dann nicht.

Delphi-Quellcode:
  frm := TKunden.Create(nil);
  frm.Parent := Panel2;
  //frm.BorderStyle := bsNone; // kann man schon im OI einstellen?
  //frm.Align := alClient;
  frm.Show;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 08:51
Hi,

natürlich brauchts da noch ein Show (s. Testanwendung).
@himitsu: klar kann man das im IO einstellen - nur sieht man das im Code schneller was gemacht werden muss. Zudem kann man das (anstelle jedesmal im Desinger einzustellen) auch schön generalisieren.... (Factory)

@mkinzler: wie oben geschrieben kann man die Forms dann per Undocking raus ziehen. Geht natürlich auch mit einem Frame - dann brauchts aber wieder einen Container. Zudem gibts im Form noch ein paar Events, die ganz nützlich sind, die in den Frames fehlen... kann man selbstverständlich nachrüsten.... Und weiterhin verhindert der Einsatz von TForm, dass jemand auf die Idee kommt zur Desingzeit (weils halt geht und so schön "einfach" ist) ein Frame direkt über "Frames" in einen Container zu legen um dann irgend wann den Überblick zu verlieren, weil man anfängt im Frame an sich und im eingebetteten Frame zu ändern (was dann 2 unterschiedliche Klassen sind)

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 13:12
Ich halte Formulare idR auch für günstiger als Frames.
Einige Infos findet man noch bei der Suche nach "embedded Forms".
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#10

AW: Pagecontrol oder Frames

  Alt 22. Nov 2013, 14:08
@himitsu: klar kann man das im IO einstellen - nur sieht man das im Code schneller was gemacht werden muss. Zudem kann man das (anstelle jedesmal im Desinger einzustellen) auch schön generalisieren.... (Factory)
Das kann man auch andersrum sehen.

Man kann es auch einmal in der Form einstellen und muß es dann nicht überall, bei jedem einzelnen Aufruf machen.
(es sei denn man erstellt die Form nicht direkt und bietet sie nur über eine entsprechende Funktion an, welche das Erstellen und das Setzen der Parameter übernimmt)



Für Windows ist es fast egal, denn für das sind es beides "Fenster", genauso wie ein Edit.
Aber Seitens der VCL könnte es auch mal Problemchen geben, demm diese Unterscheidet nunmal zwischen Kompoente/Frame und Form.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 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