Delphi-PRAXiS

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 Panel + Scrollbar (https://www.delphipraxis.net/98242-panel-scrollbar.html)

Störtebeker 23. Aug 2007 18:41


Panel + Scrollbar
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mir mal aus den Komponenten, die Delphi so anbietet ein Klappmenü gebastelt, wie man es von Windows kennt.
Nun ist das so, das Zwei ausgeklappte, gut auf das Panel passen. Ein drittes würde allerdings am unteren Panelrand verschwinden.

Und daher wollte ich mal fragen, ob und wie man das vielleicht mit einer Scrollbar lösen könnte?
Bessere Ideen sind natürlich auch gut.

Thx.

mkinzler 23. Aug 2007 18:43

Re: Panel + Scrollbar
 
Ja z.B. mit Hilfe einer Scrollbox

Störtebeker 23. Aug 2007 19:06

Re: Panel + Scrollbar
 
Theoretisch eine gute Idee, mkinzler. :wink:

Das Problem: Ich verwende, (damit sich das eine Menü bei schließen des darüber liegenden Menüs nach oben verschiebt und beim öffnen des darüber liegenden wieder nach unten verschiebt) die verschiedenen Top-Werte. Die ändern sich aber, wenn ich sich die Scrollbar der Scrollbox verändert.
Somit ist entweder das verwenden der Top-Werte, oder die Scrollbox unbrauchbar. Es sei denn, da bekomme ich auch noch in den Griff.

Hilfe gesucht.

Thx.

mkinzler 23. Aug 2007 19:08

Re: Panel + Scrollbar
 
Warum? .Top, .Left sind immer relativ zum Parent also der ScrollBox.

Störtebeker 23. Aug 2007 19:20

Re: Panel + Scrollbar
 
Mal der Quelltext für das erste Menü:

Delphi-Quellcode:
FlatPanel2.Visible:=false;
FlatPanel3.Top:=456;
FlatPanel4.Top:=480;
Label19.Visible:=true;
Label18.Visible:=false;
FlatPanel2 ist das Ausgeklappte Menü und wird über false eingezogen.
FlatPanel 3/4 gehören zum zweiten Ausklappmenü und werden von ihrer ursprünglichen Top-Stelle auf die neuen Top-Werte gesetzt. Label19 ist ein ">>"(ausklappen) und wird zu "<<" (einklappen).

Hat FlatPanel2 z.B. den Top Wert: 36 und ich scrolle nach unten, ist der Top-Wert -75.

ParentOptionen der Scrollbox sehen wie folgt aus:

ParentBiDiMode --> true
ParentCtl3D --> true
ParentShowHint --> true
ParentColor --> false

Störtebeker 23. Aug 2007 20:04

Re: Panel + Scrollbar
 
Mir kam gerade so die Idee, dass das Problem nicht an der Scrollbox liegt, sondern an den Top-Werten. Weil die haben ja eine feste Position und dann verschiebt sich die ganze Sache natürlich, wenn ich scrolle.

Richtig??

Also, wie müsste ma da vorgehen? Weil von "flexiblen" Top-Werten habe ich noch nichts gehört.

Thx.

mkinzler 23. Aug 2007 20:06

Re: Panel + Scrollbar
 
Die .Top-Werte sind relativ zur Scrollbox. Sie dütften sich beim Scrollen nicht verändern.

em-sigma 18. Sep 2007 14:46

Re: Panel + Scrollbar
 
Zitat:

Sie dütften sich beim Scrollen nicht verändern.
Ich weiß nicht, ob sich die Top-Werte ändern, trotzdem gibt es ein Problem.

Ich habe nämlich ein ähnliches Problem:

Ich plaziere auf einer Scrollbox mehrere Panels untereinander (je nach Kontext mehr oder weniger viele). Sind es ausreichend viele, dann taucht logischerweise am rechten Rand der Scrollbar auf. Scrolle ich nun ganz nach unten und lasse mir eine andere Zusammenstellung der Panels anzeigen (mit weniger Panels (ohne Scrollbar)), dann werden diese nicht am oberen Rand der Scrollbox plaziert, sondern am unteren.

Häh?

em-sigma


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 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