AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[FM] sanftes Scrollen in Scrollbox

Ein Thema von quaero · begonnen am 2. Dez 2015 · letzter Beitrag vom 7. Dez 2015
Antwort Antwort
Seite 1 von 2  1 2      
quaero

Registriert seit: 25. Apr 2013
38 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

[FM] sanftes Scrollen in Scrollbox

  Alt 2. Dez 2015, 15:06
Hallo,

gibt es eine Möglichkeit, in einer Scrollbox den Viewport sanft zu ändern, so dass der Nutzer sieht wo es lang geht?
Ich kann über
Delphi-Quellcode:
ScrollBox1.ViewportPosition := TPointF(x, y);
ScrollBox1.ScrollTo(x, y);
ScrollBox1.ScrollBy(x, y);
die Scrollposition zwar ändern, aber der Nutzer ist sofort an der Position und hat u.U. keine Ahnung, wo er gerade ist oder woher er kommt.
quaero
  Mit Zitat antworten Zitat
Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 3. Dez 2015, 10:33
Hallo quaero,

wenn ich dich richtig verstanden habe, dann sollte die Eigenschaft Delphi-Referenz durchsuchenTControlScrollBar.Tracking genau das Richtige für dich sein.

Die Eigenschaft Delphi-Referenz durchsuchenTControlScrollBar.Smooth könntest du dir auch mal anschauen.

Grüße
Headbucket
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 3. Dez 2015, 11:17
Nein, er nicht den Benutzer an Scrollbalken ziehen lassen sondern programmgesteuert an eine bestimmte Stelle scrollen.

Ich hätte gedacht, man könnte einfach eine TFloatAnimation nehmen. Ich stehe dann aber direkt auf dem Schlauch, da ich nicht weiß, wie man ViewportPosition.Y animieren könnte. Denn ViewPortPosition ist ein Record und wenn er den abfragt, bekommt er nur eine Kopie des Originals. Die kann er munter verändern, da hat nur niemand etwas von.
  Mit Zitat antworten Zitat
Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 3. Dez 2015, 11:34
Edit: Ausversehen auf antworten geklickt. Wie kann man seine eigenen Beiträge löschen?

Damit der Post nicht total sinnlos ist eine Quick & Dirty Lösung: Die Zielposition über eine Schleife / einen Timer in kleinen Schritten ändern. "Sanft" und "schön" ist jedoch etwas anderes... .
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 3. Dez 2015, 11:38
Ja, und vor allem sollte das eigentlich etwas sein dass man im Jahr 2015 nicht mehr unbedingt selber machen will sondern eigentlich in seinem GUI-Framework erwartet. Die Animations-Komponenten in FireMonkey sind ja da, und ich finde die gar nicht übel.

Aber wie man die hier zum Einsatz bringen kann ist mir schleierhaft. Die Embarcadero-Beispiele sind meist praxisferne rotierende Buttons, das hier ist eigentlich der Standardfall
  Mit Zitat antworten Zitat
quaero

Registriert seit: 25. Apr 2013
38 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 3. Dez 2015, 11:41
Ich werde mal schauen, ob ich mit FloatAnimation und ScrollTo etwas anfangen kann.
quaero
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 3. Dez 2015, 11:43
Es würde einem ja helfen wenn man bei der TFloatAnimation in ihrem Event abfragen könnte, um wie viel sie den Wert verändert hat. Gibt es da etwas?

Dann könnte man ja selber um eben diesen Wert scrollen...
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 3. Dez 2015, 13:35
Ich habe nochmal geschaut, seit 10 Seattle gibt es eine "TPresendetScrollBox".

Eine hier rein geschmissene TFloatAnimation "findet" dort drinnen viel mehr, unter anderen auch ein "VScrollBar.Value". Damit lässt sich mit drei Klicks doch ein schönes animiertes "Scroll to Top" basteln.
  Mit Zitat antworten Zitat
quaero

Registriert seit: 25. Apr 2013
38 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 3. Dez 2015, 13:42
Ich hatte gerade mal versucht, über eine Zählschleife was zu basteln, was aber nicht wirklich schön anzusehen war.

Die PresentedScrollBox schau ich mir gleich mal an.
quaero
  Mit Zitat antworten Zitat
quaero

Registriert seit: 25. Apr 2013
38 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: [FM] sanftes Scrollen in Scrollbox

  Alt 4. Dez 2015, 08:35
Ich habe jetzt die PresentedScrollBox genutzt und das Scrollen funktioniert und ist schön sanft. Allerdings habe ich in der Scrollbox nur ein Bild, das gezoomt werden kann und zentral ausgerichtet ist. Wenn ich in das Bild reinzoome, dann komme ich weder an den oberen noch an den linken Teil ran, weil der Viewport in keiner Ausrichtung kleiner Null sein darf (weder per Code noch per Touch). Rechts unten komme ich genau bis zum Bildrand.
quaero
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:30 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