Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wie Hauptfenster realisieren? (https://www.delphipraxis.net/67617-wie-hauptfenster-realisieren.html)

Janek76 17. Apr 2006 18:22


Wie Hauptfenster realisieren?
 
Hallo,

eine Frage habe ich an die Fortgeschrittenen:

Ich möchte eine kleine Anwendung erstellen, in deren Formular sich auf der linken Seite eine Navigationsleiste befindet. Wenn ich die Button der Navigationsleiste anklicke, soll sich auf der rechten Seite das Fenster entsprechend ändern, d.h. der entsprechende Inhalt angezeigt werden.

Ich möchte kein extra-Fenster, sondern alles soll in einem Fenster sein. Kann man das mit verschiedenen Formularen für den Inhalt realisieren, ohne daß man ein extra-Fenster aufmacht? Dann hätte ich nicht alles in eins reingequetscht. Ansonsten ist mir nur noch dazu eingefallen, Panels oder die Jedi XP Container übereinander zu blenden und die nicht aktiven unsichtbar zu machen, evt. ein PageControl zu benutzen und mit TabSheets zu arbeiten, aber ich habe nicht gefunden, wie man die Auswahl für den Benutzer abschaltet, damit der nicht die TabSheets hin und her schalten kann. Geht das? Wie realisiert man sowas?

Mackhack 17. Apr 2006 18:26

Re: Wie Hauptfenster realisieren?
 
Koenntest auch ne Scrollbox nehmen!

Balu der Bär 17. Apr 2006 18:31

Re: Wie Hauptfenster realisieren?
 
Du könntest auch Frames nehmen, einfach mal in deine Delphi-Hilfe gucken.

SirThornberry 17. Apr 2006 18:45

Re: Wie Hauptfenster realisieren?
 
wie du bereits geschrieben hast kann man da das PageControl nehmen. Um dem Benutzer das wechseln zwischen den Tabsheets nicht zu ermögichen musst du bei jedem TabSheet das Property "TabVisible" auf "False" setzen.

rory 17. Apr 2006 18:46

Re: Wie Hauptfenster realisieren?
 
Liest sich so, als möchtes Du mit Delphi ein Programm erstellen, das sich wie ein HTML-Frameset (mit der Navigation im linken Frame) verhält, oder?

mfg

Janek76 17. Apr 2006 18:56

Re: Wie Hauptfenster realisieren?
 
Ja. Genau. Daran dachte ich auch, an HTML-Seiten.

TabVisible auf false. OK. Das wars.

Mit Frames hatte ich bisher noch nichts zu tun. Muß dann mal ein bißchen suchen.

Ansonsten das TabSheet.

Danke jedenfalls für die Antworten.

tr909 18. Apr 2006 09:10

Re: Wie Hauptfenster realisieren?
 
Oder auch mit TJvEmbeddedFormPanel
Damit kannst du andere Forms in , z.b. dem Haupt-Form einbetten, also genauso wie beim Frameset.

Gruß
tr909

RavenIV 18. Apr 2006 11:15

Re: Wie Hauptfenster realisieren?
 
Liste der Anhänge anzeigen (Anzahl: 1)
oder Du nimmst den DX-Pack, dort ist eine WinXPBar dabei.
Einfach mal das Demo anschauen.

Da ich nicht mehr weiss, wo ich diese Komponente gefunden habe, hänge isch sie hier einfach mal an. Sind ja nur 59 kB...

Janek76 28. Nov 2006 23:07

Re: Wie Hauptfenster realisieren?
 
Sorry wenn ich nochmal nerve, aber ich habe selten mit der Gestaltung und dem Design von WinForms zu tun, habe aber keine vernünftige Seite gefunden, die einem die Möglichkeiten zur Gestaltung erklären. Und um einen Überblick über alles Mögliche zu haben, braucht man schon etwas Erfahrung mit Delphi.

Ich möchte ein ganz normales MainMenu haben (eventuell links auch noch eine Navigationsleiste) und in dem Hauptfenster sollen die Inhalte angezeigt werden. Also eine ganz normale Windowsanwendung (wie z.B. IrfanView, nur dass anstelle der Grafik meine Unterforms drinstehen). Eigentlich so wie mit dem hier erwähnten embeddedFormLink. Jetzt habe ich ein ganz normales MDI Formular mit MDI-Child in Delphi 2005 PE gemacht. Macht man das eher damit? Falls ja, wie kriege ich es hin, dass keine Fensterleiste (mit Minimized, Maximized Icon etc.) des Childfensters angezeigt wird, sondern nur der wirkliche Inhalt? Borderstyle habe ich none und die Bordericons auf false gesetzt. Immernoch ist das Fenster mit Rahmen und blauer Leiste sichtbar. Ich will aber nur dessen Inhalt. Geht das irgendwie? Bei Klick auf das MainMenu soll sich der Inhalt eben ändern. Das ist alles was ich will. Macht man das so? Wie kriege ich die Größe des MDI-Bereiches heraus? Gibt es da eine Möglichkeit, das MDI-Child schon im Entwicklungsmodus auf die Größe maximized zu bringen oder muss ich umständlich die Pixelgrösse durch aufziehen und Ausgabe in einer Messagebox rausfinden?

Janek76 23. Dez 2006 23:15

Re: Wie Hauptfenster realisieren?
 
Also wonach ich gesucht hatte, ist glaube ich einfach das Parent-Attribut. Wäre das so korrekt?

Delphi-Quellcode:
    Form1: TMyForm;
  public
    { Public-Deklarationen }
  end;

var
  AMain: TAMain;

implementation

{$R *.dfm}

procedure TAMain.Button1Click(Sender: TObject);
begin
  if assigned(Form1) then begin
    Form1.Close;
    Form1 := Nil;
    Form1.Free;
  end else begin
    Form1 := TMyForm.Create(Self);
    Form1.Parent := AMain;
  end;
end;
Das einzige was mich stört, ist, dass man für den Bruchteil einer Sekunde das Erstellen des Formulars als kurzes Flimmern sieht, bevor es in das Hauptformular eingebunden wird.

So würde man das machen? Welchen Vor- oder Nachteil hat diese Lösung zu TJvEmbeddedFormPanel?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.
Seite 1 von 2  1 2      

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