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 suche Scrollbox mit versetzten Scrollbars (https://www.delphipraxis.net/32566-suche-scrollbox-mit-versetzten-scrollbars.html)

Mario 25. Okt 2004 13:16


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?

Niko 26. Okt 2004 15:03

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.

Mario 26. Okt 2004 15:27

Re: suche Scrollbox mit versetzten Scrollbars
 
Zitat:

Zitat von Niko
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.

Klingt gut, funktioniert aber bei mir leider nicht. Die Scrollbars der Scrollbox lassen sich invisible nicht setzen und damit kann ich den Inhalt der Scrollbox leider nicht verschieben :(

Niko 28. Okt 2004 18:59

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 Torry nach einer passenden Komponente.

Mario 29. Okt 2004 07:22

Re: suche Scrollbox mit versetzten Scrollbars
 
Leider ohne Erfolg. Schade.

Trotzdem besten Dank für Deine Mühen!

himitsu 29. Okt 2004 07:30

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 13:02 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