Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Layout der GUI Fullscreen / geteilter Bildschirm (https://www.delphipraxis.net/9919-layout-der-gui-fullscreen-geteilter-bildschirm.html)

Helpliner 7. Okt 2003 19:34


Layout der GUI Fullscreen / geteilter Bildschirm
 
Hallo Leute,

mal eine Frage zum Layout der GUI eines Programms:

also ich möchte ein Programm Schreiben welches 2 Internetseiten untereinander anzeigt.
Auf der Form1 sollen nur zwei WebBrowser Komponenten platziert werden die immer die gesamte Breite der Form1 haben (normal / maximiert).
Der erste Webbrowser soll am oberen rand der Form direkt anliegen und der zweite WebBrowser am unteren, treffen sollen sich die beiden Webbrowser in der Mitte (das soll sich aber verschieben lassen (so wie der Up-/ Downloadbereich bei P2P Programmen geteilt ist z.B.)).

Habt Ihr Vorschläge, Ideen, Tipps o.ä. wie ich das am besten angehe ?

SirThornberry 7. Okt 2003 20:09

Re: Layout der GUI Fullscreen / geteilter Bildschirm
 
oberer Browser:
Align := alTop;

unter Browser:
Align := alClient;

im onresize-event des Formulars dann obererbrowser.height := form1.clientheight div 2;

und um ein resize zu ermöglichen zwischen die beiden Browser einen Splitter;

Nachteil dessen: Wenn das resize ausgelöst wird is die Größeneinstellung vom Splitter wieder weg. Deswegen eventuel noch abfangen wenn der Splitter verwendet wurde dementsprechend dann im resize bei der Größenänderung drauf eingehen

Helpliner 9. Okt 2003 19:40

Re: Layout der GUI Fullscreen / geteilter Bildschirm
 
Also das mit Der Fensterbreite und der aufteilung der Browserfenster habe ich ginbekommen, danke schonmal dafür.

Womit ich allerdings arge Probleme habe ist der Splitter.

Ich habe den Splitter eingefügt und er hat sich auch horizontal zwischen die beiden Browser gesetzt, wenn ich das Programm allerdings starte hat der Splitter aber keine Funktion (auch nicht wenn ich die von dir im posting genannte Funktion einfüge), desweiteren wird als Curser immer die Grafik für die Vertikakle Splittung angezeigt obwohl ich das im OI umgestellt habe.

Hilfeeee....ich bin doch zu blöd :-(

Helpliner 12. Okt 2003 15:54

Re: Layout der GUI Fullscreen / geteilter Bildschirm
 
Kann da tatsächlich keiner mehr Tipps zu geben ???

Marco Haffner 12. Okt 2003 16:26

Re: Layout der GUI Fullscreen / geteilter Bildschirm
 
Delphi-Quellcode:
WebBrowser1.Align := Top;
Splitter1.Align := Top;
WebBrowser2.Align := Client;
funktioniert hier bestens.

Christian Seehase 12. Okt 2003 16:47

Re: Layout der GUI Fullscreen / geteilter Bildschirm
 
Moin Helpliner,

also ich habe mal folgendes gemacht:
  1. Neue Anwendung
  2. TWebbrowser auf das Formular
  3. Webbrowser1.Align := alTop
  4. TSplitter auf das Formular
  5. Splitter1.Align := alTop
  6. TWebbrowser auf das Formular
  7. Webbrowser2.Align := alClient

Anschliessend hab' ich dann noch folgendes Ereignisprozeduren hinzugefügt.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Webbrowser1.Height := (self.ClientHeight-Splitter1.Height) div 2;
  Splitter1.Tag     := 50; // Höhe Webbrowser1 = 50% des Clientbereiches
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  Webbrowser1.Height := ((self.ClientHeight-Splitter1.Height) * Splitter1.Tag) div 100;
end;

procedure TForm1.Splitter1Moved(Sender: TObject);
begin
  // Prozentualen Anteil neu berechnen
  Splitter1.Tag := (Webbrowser1.Height * 100) div (self.ClientHeight-Splitter1.Height);
end;
Jetzt kann man das Fenster in der Grösse verändern, und die anteilige Verteilung der beiden Webbrowser bleibt gleich.
Entscheidend ist, dass die Verteilung der Controls von Webbrowser1 abhängt, da sich, auf Grund der Einstellung alClient, Webbrowser2 immer anpasst.

Helpliner 14. Okt 2003 22:03

Re: Layout der GUI Fullscreen / geteilter Bildschirm
 
...und genau das hatte ich nicht verstanden. Vielen vielen Dank, du hast mir Super geholfen...es war zwar jetzt proggen per copy&paste, aber das Verständniss ist endlich da!!!

merci bien mon amie :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr.

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