Registriert seit: 26. Mai 2018
296 Beiträge
Delphi 10.2 Tokyo Starter
|
ScrollBar nachbauen
14. Jul 2018, 21:56
Hallo,
ich habe meine eigene Scrollbar, die auch funktioniert.
Nur eines noch nicht, nämlich nach ca. einer halben Sekunde bei gedrückter Maustaste (in der Scrollbar, außerhalb der Scrollleiste) die Scrollleiste bis zum Mauszeiger wandern zu lassen. Mein Code habe ich in OnMouseDown und da wandert die Scrollleiste gleich los. Also ich brauche einen Unterschied, wenn der Benutzer nur kurz mal die Maustaste drückt (Scrollleiste wandert nur eine Position weiter) und wenn er auf der Maustaste draufbleibt. So wie halt bei der echten ScrollBar.
Ich habe da versuche (in OnMouseDown) mit einer While/End Schleife, zwei GetTickCount Werte und Application.ProcessMessages unternommen. Natürlich in OnMouseUp einen Variable gesetzt, damit die While/End-Schleife auch abbrechen kann. Aber das ging nur bedingt denn es kommt ja wohl auch darauf an, was und wieviel Code nach einem wandern der Scrollleiste so passiert. Ich denke, es ist auch nicht die richtige Lösung mit so einer Schleife.
Bleibt da nur ein Thread übrig oder gibt's für so ein Fall einen besonderen Trick?
Michael
|