![]() |
suche Scrollbox mit versetzten Scrollbars
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich suche eine Scrollbox, die etwas versetzte Scrollbars hat. Ich möchte den freien Platz gern für Text nutzen. Hat jemand eine Idee, wie man die originalen Scrollbars verkleinern kann oder eigene Scrollbars anflanschen kann, ohne das Ding komplett neu zu programmieren? |
Re: suche Scrollbox mit versetzten Scrollbars
Hi,
nimm doch einfach eine Scrollbox, setze AutoScroll der Scrollbox und Visible der beiden Scrollbars auf false und nimm zwei eigenständige Scrollbars, die du beliebig anordnen kannst. Min wird bei beiden eigenständigen Scrollbars auf 0 gesetzt und Max auf den Wert der Range-Eigenschaft der entsprechenden Scrollbox-Scrollbar (eventuell im OnResize der Scrollbox automatisch anpassen). Jetzt muss nur noch im OnChange deiner eigenen Scrollbars die Position-Eigenschaft der passenden Scrollbox-Scrollbar auf den Position Wert deiner eigenen Scrollbar gesetzt werden. |
Re: suche Scrollbox mit versetzten Scrollbars
Zitat:
|
Re: suche Scrollbox mit versetzten Scrollbars
Hi,
erstmal sorry für die späte Antwort - habe im Moment ziemlich viel zu tun. Ich habe eigentlich gedacht, dass das funktionieren müsste, aber selbst wenn man der Scrollbox die WM_HSCROLL/WM_VSCROLL-Nachricht direkt sendet geht es nicht. Bleibt wohl nur noch die Möglichkeit, die Scrollbar der Scrollbox auf Visible zu lassen und mit deinen eigenen Komponenten (am Besten auf einem Panel) zu überedecken. Oder du suchst mal bei ![]() |
Re: suche Scrollbox mit versetzten Scrollbars
Leider ohne Erfolg. Schade.
Trotzdem besten Dank für Deine Mühen! |
Re: suche Scrollbox mit versetzten Scrollbars
Liste der Anhänge anzeigen (Anzahl: 1)
Setz doch einfach 2 Panel's ineinander.
Auf das Innere kommt dann das Zeug, was reinsoll. Und mit 2 Scrollbars kannst du dann das innere Pannel verschieben. [add]
Delphi-Quellcode:
// Panel1:
// BevelOuter = bvNone // BorderSingle = bsSingle // Caption = '' // // Panel2: // BevelOuter = bvNone // Caption = '' // // ScrollBar2: // Kind = sbVertical Procedure TForm1.FormCreate(Sender: TObject); Begin ScrollBar1.Max := Panel2.Width; ScrollBar1.PageSize := Panel1.Width - 4; ScrollBar1.Position := -Panel2.Left; ScrollBar2.Max := Panel2.Height; ScrollBar2.PageSize := Panel1.Height - 4; ScrollBar2.Position := -Panel2.Top; End; Procedure TForm1.ScrollBar1Change(Sender: TObject); Begin Panel2.Left := -ScrollBar1.Position; End; Procedure TForm1.ScrollBar2Change(Sender: TObject); Begin Panel2.Top := -ScrollBar2.Position; End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 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