![]() |
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 ? |
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 |
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 :-( |
Re: Layout der GUI Fullscreen / geteilter Bildschirm
Kann da tatsächlich keiner mehr Tipps zu geben ???
|
Re: Layout der GUI Fullscreen / geteilter Bildschirm
Delphi-Quellcode:
funktioniert hier bestens.
WebBrowser1.Align := Top;
Splitter1.Align := Top; WebBrowser2.Align := Client; |
Re: Layout der GUI Fullscreen / geteilter Bildschirm
Moin Helpliner,
also ich habe mal folgendes gemacht:
Anschliessend hab' ich dann noch folgendes Ereignisprozeduren hinzugefügt.
Delphi-Quellcode:
Jetzt kann man das Fenster in der Grösse verändern, und die anteilige Verteilung der beiden Webbrowser bleibt gleich.
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; Entscheidend ist, dass die Verteilung der Controls von Webbrowser1 abhängt, da sich, auf Grund der Einstellung alClient, Webbrowser2 immer anpasst. |
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 12:52 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